Система использует два метода отправки сообщения по маршруту оконной процедуре:
- постановка сообщения в очередь "первым пришел", "первым вышел", называемый очередью сообщений (message queue),
- определяемый системой объект памяти, который временно сохраняет сообщения и посылает сообщения непосредственно оконной процедуре.
Сообщения, помещенные в очередь сообщений, называются поставленные в очередь (синхронные) сообщения (queued messages). Они появляются, прежде всего, как результат ввода данных пользователем через мышь или клавиатуру, такие сообщения как WM_MOUSEMOVE, WM_LBUTTONDOWN, WM_KEYDOWN и WM_CHAR. Другие поставленные в очередь сообщения включают таймер, рисование и выход из программы: WM_TIMER, WM_PAINT и WM_QUIT. Большинство других сообщений, которые отправляются непосредственно оконной процедуре, называются не поставленные в очередь (асинхронные) сообщения (nonqueued messages).