Как только основное окно создано и показано на экране, функция WinMain может начать исполнять свою первичную задачу, которая состоит в том, чтобы читать сообщения из очереди приложения и рассылать их в соответствующее окно.
Система не отправляет ввод данных непосредственно прикладной программе. Вместо этого она помещает все вводимые данные от мыши и клавиатуры от пользователя в очередь сообщений, наряду с сообщениями, посланными системой и другими приложениями. Приложение должно читать очередь сообщений, извлекать сообщения и распределять их так, чтобы оконная процедура могла обрабатывать их.
Обобщенное приложение использует нижеследующий цикл обработки сообщений:
|
Функция GetMessage извлекает сообщение из очереди. Функция DispatchMessage отправляет каждое сообщение соответствующей оконной процедуре. Функция TranslateMessage преобразует сообщение виртуальной клавиши в символьные сообщения. В Обобщенном приложении, это необходимо, чтобы реализовать клавиши доступа к меню.