Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This function indicates the type of messages found in the calling thread's message queue.
Syntax
DWORD GetQueueStatus( UINT flags ); |
Parameters
- flags
-
[in] Specifies the types of messages for which to check. This parameter can be one or more of the values shown in the following table.
Value Description QS_ALLEVENTS
An input, WM_TIMER, WM_PAINT, WM_HOTKEY, or posted message is in the queue.
QS_ALLINPUT
Any message is in the queue.
QS_ALLPOSTMESSAGE
A posted message (other than those listed here) is in the queue.
QS_HOTKEY
A WM_HOTKEY message is in the queue.
QS_INPUT
An input message is in the queue. This is composed of QS_KEY and QS_MOUSE.
QS_KEY
A WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP, or WM_SYSKEYDOWNmessage is in the queue.
QS_MOUSE
A WM_MOUSEMOVEmessage or mouse-button message ( WM_LBUTTONUP, WM_RBUTTONDOWN, and so on) is in the queue.
QS_MOUSEBUTTON
A mouse-button message (WM_LBUTTONUP, WM_RBUTTONDOWN, and so on) is in the queue.
QS_MOUSEMOVE
A WM_MOUSEMOVEmessage is in the queue.
QS_PAINT
A WM_PAINT message is in the queue.
QS_POSTMESSAGE
A posted message (other than those listed here) is in the queue.
QS_SENDMESSAGE
A message sent by another thread or application is in the queue.
QS_TIMER
A WM_TIMER message is in the queue.
Return Value
The high-order word of the return value indicates the types of messages currently in the queue. The low-order word indicates the types of messages that have been added to the queue and that are still in the queue since the last call to the GetQueueStatus, GetMessage, or PeekMessagefunction.
Remarks
The presence of a QS_* flag in the return value does not guarantee that a subsequent call to the GetMessageor PeekMessagefunction will return a message. GetMessageand PeekMessageperform some internal filtering that may cause the message to be processed internally.
The QS_ALLPOSTMESSAGE and QS_POSTMESSAGE flags differ in the following ways:
- QS_POSTMESSAGE is cleared when you call
GetMessageor
PeekMessage, regardless of whether you are filtering
messages.
- QS_ALLPOSTMESSAGE is cleared when you call
GetMessageor
PeekMessagewithout filtering messages; that is, when the
wMsgFilterMinand
wMsgFilterMaxparameters for
GetMessageor
PeekMessageare zero. This can be useful when you call
PeekMessagemultiple times to get messages in different
ranges.
Requirements
Header | winuser.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE .NET 4.2 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |