GetQueueStatus (Compact 2013)

3/28/2014

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_SYSKEYDOWN message is in the queue.

    QS_MOUSE

    A WM_MOUSEMOVE message 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_MOUSEMOVE message 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 PeekMessage function.

Remarks

The presence of a QS_* flag in the return value does not guarantee that a subsequent call to the GetMessage or PeekMessage function will return a message. GetMessage and PeekMessage perform 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 GetMessage or PeekMessage, regardless of whether you are filtering messages.
  • QS_ALLPOSTMESSAGE is cleared when you call GetMessage or PeekMessage without filtering messages; that is, when the wMsgFilterMin and wMsgFilterMax parameters for GetMessage or PeekMessage are zero. This can be useful when you call PeekMessage multiple times to get messages in different ranges.

Requirements

Header

winuser.h

Library

coredll.lib

See Also

Reference

Message Queue Functions
GetMessage
PeekMessage
WM_TIMER
WM_PAINT
WM_HOTKEY
WM_KEYUP
WM_KEYDOWN
WM_SYSKEYUP
WM_SYSKEYDOWN
WM_MOUSEMOVE
WM_LBUTTONUP
WM_RBUTTONDOWN
WM_MOUSEMOVE