Windoows窗口程序七
WM_QUIT--用于结束消息循环处理 wParam - PostQuitMessage函数传递的参数 lParam - 不使用 当GetMessage收到这个消息后,会返回false,结束while处理,退出消息循环。 WM_QUIT不会进入消息处理函数,因为这是由PostQuitMessage函数向窗口发送的消息,GetMessage直接返回了。 WM_PAINT--绘图消息 键盘消息 鼠标消息 定时器消息
GetMessage--从系统获取消息,将消息从系统中移除,阻塞函数。当系统无消息时,GetMessage会等候下一条消息。
PeekMessage--以查看的方式从系统获取消息,可以不将消息从系统中移除,非阻塞函数。当系统无消息时,返回false,继续执行后续代码。 BOOL WINAPI PeekMessage( _Out_ LPMSG lpMsg, _In_opt_ HWND hWnd, _In_ UINT wMsgFilterMin, _In_ UINT wMsgFilterMax, _In_ UINT wRemoveMsg//移除标识 );
SendMessage--发送消息,会等候消息处理的结果。 PostMessage--投递消息,消息发出后立刻返回,不等候消息执行结果。 LRESULT SendMessage( _In_ HWND hWnd,//消息发送的目的窗口 _In_ UINT Msg,//消息ID _In_ WPARAM wParam,//消息参数 _In_ LPARAM lParam//消息参数 );
BOOL PostMessage(
_In_opt_ HWND hWnd,
_In_ UINT Msg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);