1.GetMessage()
GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax);
//从调用线程的消息队列中取得一个消息并将该消息放在指定的结构(MSG)。
从系统获取消息,将消息从系统中移除,属于阻塞函数,如果队列中没有消息会等待,直到获得消息才会返回。
如果函数取得WM_QUIT之外的其他消息,返回非零值。如果函数取得WM_QUIT消息,返回值是零。如果出现了错误,返回值是-1。
2.PeekMessage()
与GetMessage()一样从消息队列中取得一个消息放在指定的结构(MSG)。以查看的方式从系统中获取消息,可以不将消息从系统中移除,是非阻塞函数;当系统无消息时,返回FALSE,继续执行后续代码。
3.TranslateMessage()
BOOL TranslateMessage( CONST MSG*lpMsg );
将虚拟键消息转换为字符消息,字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出,只能用于转换GetMessage()/PeekMessage()接收到的消息。
4.DispatchMessage()
LONG DispatchMessage(CONST MSG*lpmsg);
调度一个消息给指定窗口,通常情况下被用来派送GetMessage函数获得的消息。
5.PostMessage()
BOOL WINAPI PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);