函式原型
DWORD GetQueueStatus(UINT flags);
參數
flags:表示訊息類型的佇列狀態標誌。此參數可為下列值的組合:
QS_ALLEVENTS:輸入,WM_TIMER, WM_PAINT,WM_HOTKEY或寄送的訊息在佇列里。
QS_ALLINPUT:任何訊息在佇列里。
QS_ALLPOSTMESSAGE:寄送的訊息(而不是其他所列訊息)在佇列里。
QS_HOTKEY:一條WM_HOTKEY訊息在佇列里。QS_INPUT:輸入訊息在佇列里。
QS_KEY:一條WM_KEYUP WM_KEYDOWN,WM_SYSKEYUP或WM_SYSKEYDOWN訊息在佇列里。
QS_MOUSE:WM_MOUSEMOVE訊息或滑鼠鍵訊息(WM_BUTTONUP WM_RBUTTONDOWN等)在訊息佇列里。
QS_MOUSEBUTTON:滑鼠鍵訊息(WM_LBUTTONUP,WM_RBUTTONDOWN等)在訊息佇列里。
QS_MOUSEMOVE:WM_MOUSEMOVE訊息在訊息佇列里。
QS_FAINT:WM_PAINT訊息在訊息佇列里。
QS_POSTMESSAGE:寄送的訊息(而不是其他所列訊息)在佇列里。
QS_SENDMESSAGE:由其他執行緒或應用程式傳送的訊息在訊息佇列里。
QS_TIEMR:一條WM_TIEMR訊息在訊息佇列里。
返回值:返回值的高位字表示佇列里當前訊息的類型。低位字表示上次調用GetQueuestatus,GetMessage或PeekMessBge以來加入佇列並仍然在佇列里的訊息的類型。
備註
QS_標誌出現在返回值里並不保證以後調用函式GetMessage或PeekMessage會返回一個訊息。GetMesssge和PeekMesssge執行某些內部過濾會導致訊息被內部處理。因此,GetQueueStatus的返回值只能被看作是否調用GetMessage或PeekMessage的提示。
QS_ALLPOSTMESSAGE和QS_POSTMESSAGE標誌在被清除時不一樣。QS_POSTMESSAGE在調用GetMessage或 PeekMessage時清除,無論是否過濾訊息。QS_ALLPOSTMESSAGE在調用GetMessage或PeekMessage時清除,不過濾訊息(wMsgFilterMin和wMsgFilterMax是零)。這對於多次調用PeeKMessage來獲得不同範圍的訊息非常有用。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本:Windows CE:不支持;頭檔案:winuser.h;輸入庫:user32.lib。