GetMessage

Die GetMessage -Funktion Ruft eine Nachricht aus dem aufrufenden Thread-Nachrichtenwarteschlange ab und platziert es in der angegebenen Struktur. Diese Funktion kann sowohl eine angegebenen Fenster zugeordneten Nachrichten abrufen und Thread Nachrichten geschrieben über die PostThreadMessage Funktion. Die Funktion Ruft die Nachrichten, die innerhalb eines angegebenen Wertebereichs Nachricht liegen. GetMessage wird nicht Nachrichten für Windows abzurufen, die zu anderen Threads oder Anwendungen gehören.

BOOL GetMessage) LPMSG  LpMsg, / / Adresse der Struktur mit NachrichtHWNDhWnd, / / handle des FenstersUINTwMsgFilterMin, / / erste NachrichtUINTwMsgFilterMax / / letzte Nachricht);
 

Parameter

lpMsg
Zeiger auf eine MSG -Struktur, die Nachrichteninformationen von der Thread-Nachrichtenwarteschlange erhält.
hWnd
Handle für das Fenster, dessen Nachrichten abgerufen werden sollen. Einen Wert hat eine besondere Bedeutung:
Wert Bedeutung
NULL GetMessage Ruft für jedes Fenster, das gehört an den aufrufenden Thread und Thread Nachrichten an den aufrufenden Thread über PostThreadMessage geschrieben.

wMsgFilterMin
Gibt den Ganzzahlwert des niedrigsten Wertes Nachricht abgerufen werden.
wMsgFilterMax
Gibt den Ganzzahlwert des der höchste Wert abgerufen werden.

Rückgabewerte

Wenn die Funktion eine Nachricht außer WM_QUIT abruft, ist der Rückgabewert ungleich NULL.

Wenn die Funktion die Nachricht WM_QUIT abruft, ist der Rückgabewert 0 (null).

Wenn ein Fehler vorliegt, wird der Wert-1 zurückgegeben. Beispielsweise schlägt die Funktion fehl, wenn ein ungültiges Fensterhandle hWnd ist oder LpMsg ein ungültiger Zeiger ist. Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError.

Bemerkungen

Eine Anwendung verwendet den zurückgegebenen Wert in der Regel bestimmt, ob die Hauptmeldungsschleife zu beenden und das Programm beenden.

Die GetMessage -Funktion ruft nur Nachrichten identifiziert durch den hWnd -Parameter oder einem seiner untergeordneten Elemente, wie angegeben durch die IsChild -Funktion und innerhalb des Bereichs der angegebenen durch den Parameter wMsgFilterMin und wMsgFilterMax Nachricht-Werte Fenster zugeordnet. Wenn hWnd NULL ist, ruft GetMessage für jedes Fenster, das gehört an den aufrufenden Thread und Thread Nachrichten an den aufrufenden Thread über PostThreadMessagegeschrieben. GetMessage ruft keine Nachrichten für Windows, die zu anderen Threads gehören noch für die anderen Threads als dem aufrufenden Thread ab, selbst wenn hWnd nicht NULL ist. Thread Nachrichten, von der Funktion PostThreadMessage haben einen Nachricht hWnd -Wert NULL. Wenn wMsgFilterMin und wMsgFilterMax beide null, GetMessage sind gibt alle verfügbare Nachrichten (d. h. keine Bereich Filterung erfolgt).

Die Konstanten WM_KEYFIRST und WM_KEYLAST können zum Abrufen aller Nachrichten mit Bezug auf Tastatureingaben als Filterwerte verwendet werden; die Konstanten WM_MOUSEFIRST und WM_MOUSELAST können verwendet werden, um alle Maus-Nachrichten abzurufen. Wenn die Parameter wMsgFilterMin und wMsgFilterMax beide NULL sind, gibt die GetMessage -Funktion alle verfügbare Nachrichten (die ohne jede Filterung ist).

GetMessage wird nicht WM_PAINT-Meldungen aus der Warteschlange entfernt. Die Nachrichten verbleiben in der Warteschlange bis verarbeitet.

Beachten Sie, dass der Rückgabewert der Funktion ungleich NULL ist, kann 0 (null) oder-1. So vermeiden Sie Code wie den folgenden:

während (GetMessage (LpMsg, hWnd, 0, 0))... 

 

Die Möglichkeit der Rückkehr der Wert-1 bedeutet, dass Code zu schwerwiegenden Anwendungsfehlern führen kann.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Version 1.0 oder höher benötigt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.
Unicode:Als Unicode und ANSI-Versionen unter Windows NT implementiert.

Siehe auch

Nachrichten und Message Queues Übersicht, Message und Message Queue-Funktionen, IsChild, MSG, PeekMessage, PostMessage, PostThreadMessage, WaitMessage

Index