GetMessage从线程的消息队列中取出消息,GetMessage函数只有在接收到WM_QUIT消息时才返回0.
从消息队列中获取消息还可以调用PeekMessage函数,该函数的声明如下
BOOL PeekMessage(
LPMSG lpMsg,// message information
HWND hWnd,// handle to window
UNIT wMsgFilterMin,// first message
UNIT wMsgFilterMax,// last message
UNIT wRemoveMsg// removal options
)
前4个参数和GetMessage函数的四个参数相同。最后一个参数指定消息获取的方式,如果设为PM_NOREMOVE,那么消息将不会从消息队列中移除;如果设为PM_REMOVE,那么消息将从消息队列中被移除(与GetMessage行为一致)。