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
);
05-13 06:11