GetQueueStatus函数返回指示在调用线程的消息队列中找到的消息类型的标志。
DWORD GetQueueStatus(
UINT 【旗】 | //队列状态标志 |
); |
参数
【旗】
指定队列状态标志,给出要检查的消息类型。此参数可以是以下值的组合:
值 | 含义 |
QS_ALLEVENTS | 队列中输入的WM_TIMER,WM_PAINT,WM_HOTKEY或已发邮件。 |
QS_ALLINPUT | 任何消息都在队列中。 |
QS_HOTKEY | 队列中有一个WM_HOTKEY消息。 |
QS_INPUT | 输入消息在队列中。 |
QS_KEY | WM_KEYUP,WM_KEYDOWN,WM_SYSKEYUP或WM_SYSKEYDOWN消息在队列中。 |
QS_MOUSE | WM_MOUSEMOVE消息或鼠标按钮消息(WM_LBUTTONUP,WM_RBUTTONDOWN等)。 |
QS_MOUSEBUTTON | 鼠标按钮消息(WM_LBUTTONUP,WM_RBUTTONDOWN等)。 |
QS_MOUSEMOVE | 一个WM_MOUSEMOVE消息在队列中。 |
QS_PAINT | 一个WM_PAINT消息在队列中。 |
QS_POSTMESSAGE | 发布的消息(除了刚刚列出的消息)在队列中。 |
QS_SENDMESSAGE | 另一个线程或应用程序发送的消息在队列中。 |
QS_TIMER | 队列中有WM_TIMER消息。 |
返回值
返回值的高位字表示当前队列中的消息类型。低位字指示自GetQueueStatus,GetMessage或PeekMessage功能上次调用以来已添加到队列中并且仍处于队列中的消息类型。
备注
在返回值中存在QS_标志不能保证对PeekMessage或GetMessage函数的后续调用将返回一条消息。GetMessage和PeekMessage执行一些可能导致在内部处理消息的内部过滤。因此,来自GetQueueStatus的返回值应该仅被视为是否应调用GetMessage或PeekMessage的提示。
也可以看看