getQueueStatus 函数 (winuser.h)

检索在调用线程的消息队列中找到的消息类型。

语法

DWORD GetQueueStatus(
  [in] UINT flags
);

参数

[in] flags

类型: UINT

要为其检查的消息类型。 此参数可使用以下一个或多个值。

含义
QS_KEY
0x0001
队列中WM_KEYUP、WM_KEYDOWNWM_SYSKEYUPWM_SYSKEYDOWN消息。
QS_MOUSEMOVE
0x0002
队列中WM_MOUSEMOVE消息。
QS_MOUSEBUTTON
0x0004
鼠标按钮消息 (WM_LBUTTONUPWM_RBUTTONDOWN等) 。
QS_POSTMESSAGE
0x0008
队列中) (此处列出的消息以外的消息。 有关详细信息,请参阅 PostMessage
无论是否在筛选消息,调用 GetMessagePeekMessage 时,此值都将被清除。
QS_TIMER
0x0010
队列中WM_TIMER消息。
QS_PAINT
0x0020
队列中WM_PAINT消息。
QS_SENDMESSAGE
0x0040
另一个线程或应用程序发送的消息在队列中。 有关详细信息,请参阅 SendMessage
QS_HOTKEY
0x0080
队列中WM_HOTKEY消息。
QS_ALLPOSTMESSAGE
0x0100
队列中) (此处列出的消息以外的消息。 有关详细信息,请参阅 PostMessage
调用 GetMessage 或 PeekMessage 而不筛选消息时,将清除此值。
QS_RAWINPUT
0x0400
Windows XP 及更新版本:原始输入消息位于队列中。 有关详细信息,请参阅 原始输入
QS_TOUCH
0x0800
Windows 8及更新:触摸输入消息在队列中。 有关详细信息,请参阅 触摸输入
QS_POINTER
0x1000
Windows 8及更新:指针输入消息位于队列中。 有关详细信息,请参阅 指针输入
QS_MOUSE
(QS_MOUSEMOVE |QS_MOUSEBUTTON)
) WM_LBUTTONUP、WM_RBUTTONDOWN等 (WM_MOUSEMOVE消息或鼠标按钮消息。
QS_INPUT
(QS_MOUSE |QS_KEY |QS_RAWINPUT |QS_TOUCH |QS_POINTER)
输入消息位于队列中。
QS_ALLEVENTS
(QS_INPUT |QS_POSTMESSAGE |QS_TIMER |QS_PAINT |QS_HOTKEY)
输入、 WM_TIMERWM_PAINTWM_HOTKEY或发布的消息在队列中。
QS_ALLINPUT
(QS_INPUT |QS_POSTMESSAGE |QS_TIMER |QS_PAINT |QS_HOTKEY |QS_SENDMESSAGE)
任何消息都位于队列中。

返回值

类型:DWORD

返回值的高序字指示队列中当前消息的类型。 低序字表示自上次调用 GetQueueStatus、GetMessagePeekMessage 函数以来已添加到队列中且仍在队列中的消息类型。

注解

返回值中存在QS_标志并不能保证对 GetMessagePeekMessage 函数的后续调用将返回消息。 GetMessagePeekMessage 执行一些可能导致消息在内部处理的内部筛选。 因此,应仅将 GetQueueStatus 的返回值视为提示,说明应调用 GetMessage 还是 PeekMessage

QS_ALLPOSTMESSAGEQS_POSTMESSAGE标志在被清除时有所不同。 调用GetMessagePeekMessage 时,无论是否筛选消息,QS_POSTMESSAGE都将被清除。 调用 GetMessagePeekMessage 而不筛选消息时,将清除QS_ALLPOSTMESSAGE, (wMsgFilterMinwMsgFilterMax 为 0) 。 当你多次调用 PeekMessage 以获取不同范围内的消息时,这非常有用。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-message-l1-1-0 (

请参阅

概念性

GetInputState

GetMessage

消息和消息队列

PeekMessage

引用