Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
-Beschreibung
Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookExA/SetWindowsHookExW-Funktion verwendet wird. Das System ruft diese Funktion auf, wenn die GetMessage oder PeekMessageA/PeekMessageW-Funktion eine Nachricht aus einer Anwendungsnachrichtenwarteschlange abgerufen hat. Vor dem Zurückgeben der abgerufenen Nachricht an den Aufrufer übergibt das System die Nachricht an die Hook-Prozedur.
Der HOOKPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. GetMsgProc ist ein Platzhalter für den anwendungsdefinierten oder bibliotheksdefinierten Funktionsnamen.
LRESULT CALLBACK GetMsgProc(
_In_ int code,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
-parameters
code [in]
Typ: int
Gibt an, ob die Hook-Prozedur die Nachricht verarbeiten muss. Wenn Code HC_ACTION ist, muss die Hook-Prozedur die Nachricht verarbeiten. Wenn Code kleiner als 0 ist, muss die Hook-Prozedur die Nachricht ohne weitere Verarbeitung an die CallNextHookEx-Funktion übergeben und den von CallNextHookEx zurückgegebenen Wert zurückgeben.
wParam [in]
Typ: WPARAM
Gibt an, ob die Nachricht aus der Warteschlange entfernt wurde. Dieser Parameter kann einen der folgenden Werte annehmen.
| Wert | Bedeutung |
|---|---|
| PM_NOREMOVE 0x0000 | Die Nachricht wurde nicht aus der Warteschlange entfernt. (Eine Anwendung namens PeekMessage-Funktion, die das PM_NOREMOVE-Flag angibt.) |
| PM_REMOVE 0x0001 | Die Nachricht wurde aus der Warteschlange entfernt. (Eine Anwendung namens GetMessage oder die PeekMessage-Funktion, die das PM_REMOVE-Flag angibt.) |
lParam [in]
Typ: LPARAM
Ein Zeiger auf eine MSG-Struktur, die Details zur Nachricht enthält.
-Rückgaben
Wenn Code kleiner als 0 ist, muss die Hook-Prozedur den von CallNextHookExzurückgegebenen Wert zurückgeben.
Wenn Code größer oder gleich Null ist, wird dringend empfohlen, CallNextHookEx aufzurufen und den zurückgegebenen Wert zurückzugeben. Andernfalls erhalten andere Anwendungen, die WH_GETMESSAGE-Hooks installiert haben, keine Hookbenachrichtigungen und verhalten sich möglicherweise falsch als Ergebnis. Wenn die Hook-Prozedur callNextHookEx nicht aufruft, sollte der Rückgabewert null sein.
-Anmerkungen
Die GetMsgProc-Hook-Prozedur kann die Nachricht untersuchen oder ändern.
Nachdem die Hook-Prozedur die Steuerung an das System zurückgibt, gibt die GetMessage oder PeekMessageA/PeekMessageW-Funktion die Nachricht zusammen mit allen Änderungen an der Anwendung zurück, die sie ursprünglich aufgerufen hat.
Eine Anwendung installiert diese Hook-Prozedur, indem sie den WH_GETMESSAGE-Hooktyp und einen Zeiger auf die Hook-Prozedur in einem Aufruf der SetWindowsHookExA/SetWindowsHookExW--Funktion angibt.