複製鏈接
請複製以下鏈接發送給好友

GetQueueStatus

鎖定
GetQueueStatus函數返回表示調用線程消息隊列裏的消息的類型的標誌。
外文名
GetQueueStatus
類    型
函數
屬    性
數學
函數功能
調用線程消息隊列

GetQueueStatus函數原型

DWORD GetQueueStatus(UINT flags);

GetQueueStatus參數

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以來加入隊列並仍然在隊列裏的消息的類型。

GetQueueStatus其他信息

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。