Freigeben über


GetQueueStatus-Funktion (winuser.h)

Ruft den Nachrichtentyp ab, der in der Nachrichtenwarteschlange des aufrufenden Threads gefunden wurde.

Syntax

DWORD GetQueueStatus(
  [in] UINT flags
);

Parameter

[in] flags

Typ: UINT

Die Typen von Nachrichten, auf die überprüft werden soll. Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen.

Wert Bedeutung
QS_KEY
0x0001
Eine WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP oder WM_SYSKEYDOWN Nachricht befindet sich in der Warteschlange.
QS_MOUSEMOVE
0x0002
Eine WM_MOUSEMOVE Nachricht befindet sich in der Warteschlange.
QS_MOUSEBUTTON
0x0004
Eine Maustastennachricht (WM_LBUTTONUP, WM_RBUTTONDOWN usw.).
QS_POSTMESSAGE
0x0008
Eine gesendete Nachricht (außer den hier aufgeführten) befindet sich in der Warteschlange. Weitere Informationen finden Sie unter PostMessage.
Dieser Wert wird gelöscht, wenn Sie GetMessage oder PeekMessage aufrufen, unabhängig davon, ob Sie Nachrichten filtern oder nicht.
QS_TIMER
0x0010
Eine WM_TIMER Nachricht befindet sich in der Warteschlange.
QS_PAINT
0x0020
Eine WM_PAINT Nachricht befindet sich in der Warteschlange.
QS_SENDMESSAGE
0x0040
Eine von einem anderen Thread oder einer anderen Anwendung gesendete Nachricht befindet sich in der Warteschlange. Weitere Informationen finden Sie unter SendMessage.
QS_HOTKEY
0x0080
Eine WM_HOTKEY Nachricht befindet sich in der Warteschlange.
QS_ALLPOSTMESSAGE
0x0100
Eine gesendete Nachricht (außer den hier aufgeführten) befindet sich in der Warteschlange. Weitere Informationen finden Sie unter PostMessage.
Dieser Wert wird gelöscht, wenn Sie GetMessage oder PeekMessage aufrufen, ohne Nachrichten zu filtern.
QS_RAWINPUT
0x0400
Windows XP und höher: Eine unformatierte Eingabemeldung befindet sich in der Warteschlange. Weitere Informationen finden Sie unter Rohdateneingabe.
QS_TOUCH
0x0800
Windows 8 und höher: Eine Toucheingabenachricht befindet sich in der Warteschlange. Weitere Informationen finden Sie unter Toucheingabe.
QS_POINTER
0x1000
Windows 8 und neuer: Eine Zeigereingabenachricht befindet sich in der Warteschlange. Weitere Informationen finden Sie unter Zeigereingabe.
QS_MOUSE
(QS_MOUSEMOVE | QS_MOUSEBUTTON)
Eine WM_MOUSEMOVE Nachricht oder Eine Maustastennachricht (WM_LBUTTONUP, WM_RBUTTONDOWN usw.).
QS_INPUT
(QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER)
Eine Eingabenachricht befindet sich in der Warteschlange.
QS_ALLEVENTS
(QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
Eine Eingabe-, WM_TIMER-, WM_PAINT-, WM_HOTKEY- oder gesendete Nachricht befindet sich in der Warteschlange.
QS_ALLINPUT
(QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE)
Jede Nachricht befindet sich in der Warteschlange.

Rückgabewert

Art: DWORD

Das Wort mit hoher Reihenfolge des Rückgabewerts gibt die Nachrichtentypen an, die sich derzeit in der Warteschlange befinden. Das Wort mit niedriger Reihenfolge gibt die Typen von Nachrichten an, die der Warteschlange hinzugefügt wurden und sich seit dem letzten Aufruf der Funktion GetQueueStatus, GetMessage oder PeekMessage noch in der Warteschlange befinden.

Hinweise

Das Vorhandensein eines QS_-Flags im Rückgabewert garantiert nicht, dass ein späterer Aufruf der GetMessage - oder PeekMessage-Funktion eine Nachricht zurückgibt. GetMessage und PeekMessage führen interne Filterung durch, die dazu führen kann, dass die Nachricht intern verarbeitet wird. Aus diesem Grund sollte der Rückgabewert von GetQueueStatus nur als Hinweis darauf angesehen werden, ob GetMessage oder PeekMessage aufgerufen werden soll.

Die flags QS_ALLPOSTMESSAGE und QS_POSTMESSAGE unterscheiden sich je nachdem, wann sie gelöscht werden. QS_POSTMESSAGE wird gelöscht, wenn Sie GetMessage oder PeekMessage aufrufen, unabhängig davon, ob Sie Nachrichten filtern oder nicht. QS_ALLPOSTMESSAGE wird gelöscht, wenn Sie GetMessage oder PeekMessage aufrufen, ohne Nachrichten zu filtern (wMsgFilterMin und wMsgFilterMax sind 0). Dies kann hilfreich sein, wenn Sie PeekMessage mehrmals aufrufen, um Nachrichten in verschiedenen Bereichen abzurufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-message-l1-1-0 (eingeführt in Windows 8)

Siehe auch

Konzept

GetInputState

GetMessage

Nachrichten und Nachrichtenwarteschlangen

PeekMessage

Referenz