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.
A version of this page is also available for
4/8/2010

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

See Also