Приложение Windows, создав окно и подготовив среду приложения, передает управление Windows и в дальнейшем, вплоть до завершения работы, приложение получает от Windows только по приходе сообщений, предназначенных для данного приложения.
Создав окно приложения, главная функция WinMain() организует цикл сообщений. Основное назначение этого цикла - обработка очереди сообщений данного приложения, которая создается и поддерживается Windows. Сообщения, помещаемые Windows в очередь приложения, извлекаются из нее циклом сообщений и направляются (не напрямую, а через Windows) в функцию управления соответствующим окном приложения.
Рис.4 Запуск приложения Windows и вызов функции окна по приходе сообщения.
С технической точки зрения, получение окном сообщения реализовано как вызов функции окна из Windows, которую принято называть WndProc(). При этом само сообщение выступает как передаваемый функции окна набор параметров специального формата.
Таким образом, цикл сообщений (message loop) только извлекает сообщения из очереди сообщений и направляет в функцию окна. Именно она содержит команды, выполняющие реальные действия, выполнение команд меню, осуществление вывода в окно графики, текста и прочие действия, относящиеся собственно к приложению.