GetQueueStatus

GetQueueStatus函式返回表示調用執行緒訊息佇列里的訊息的類型的標誌。

函式原型

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。

相關詞條

相關搜尋

熱門詞條

聯絡我們