一個消息必須由一個窗口接收。在窗口的過程(WNDPROC)中可以對消息進行分析,對自己感興趣的消息進行處理。系統通過窗口句柄來在整個系統中唯一標識一個窗口,發送一個消息時必須指定一個窗口句柄表明該消息由那個窗口接收。而每個窗口都會有自己的窗口過程,所以用戶的輸入就會被正確的處理。系統將會維護一個或多個消息隊列,所有產生的消息都回被放入或是插入隊列中。系統會在隊列中取出每一條消息,根據消息的接收句柄而將該消息發送給擁有該窗口的程序的消息循環。每一個運行的程序都有自己的消息循環,在循環中得到屬於自己的消息並根據接收窗口的句柄調用相應的窗口過程。而在沒有消息時消息循環就將控制權交給系統所以Windows可以同時進行多個任務。
總之,字符型程序設計中的函數是調用操作系統,比如系統功能調用;Windows程序設計恰恰相反,是操作系統調用函數。好比有個蚊子叮了我們一口,我們的神經末梢(相當於操作系統)馬上感知到這一事件,並傳遞給了我們的大腦(相當於應用程序),我們的大腦最終決定如何對這一事件作出反應,如將蚊子趕走。對事件作出反應的過程就是消息響應。 (這是孫鑫老師舉的例子)