getQueueStatus 函式 (winuser.h)

擷取在呼叫線程消息佇列中找到的訊息類型。

語法

DWORD GetQueueStatus(
  [in] UINT flags
);

參數

[in] flags

類型: UINT

要檢查的訊息類型。 此參數可以是下列一或多個值。

意義
QS_KEY
0x0001
佇列中有WM_KEYUPWM_KEYDOWNWM_KEYDOWN、WM_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_MOUSEMOVE訊息或滑鼠按鈕訊息 (WM_LBUTTONUPWM_RBUTTONDOWN等) 。
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

傳回值的高序字表示佇列中目前訊息的類型。 低序字表示已新增至佇列且自 上次呼叫 GetQueueStatusGetMessagePeekMessage 函式後仍在佇列中的訊息類型。

備註

傳回值中有QS_旗標不保證 後續呼叫 GetMessagePeekMessage 函式會傳回訊息。 GetMessagePeekMessage 會執行一些可能導致訊息在內部處理的內部篩選。 因此, GetQueueStatus 的傳回值應該只被視為應該呼叫 GetMessagePeekMessage 的提示。

QS_ALLPOSTMESSAGEQS_POSTMESSAGE旗標在清除時會有所不同。 當您 呼叫 GetMessagePeekMessage 時,不論您是否要篩選訊息,就會清除QS_POSTMESSAGE。 當您呼叫 GetMessage 或 PeekMessage 而不篩選 wMsgFilterMin 和 wMsgFilterMax (訊息時,會清除QS_ALLPOSTMESSAGE為 0) 。 當您多次呼叫 PeekMessage 以取得不同範圍中的訊息時,這非常有用。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-message-l1-1-0 (Windows 8)

另請參閱

概念

GetInputState

GetMessage

訊息和消息佇列

PeekMessage

參考