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.
Description
Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookExA/SetWindowsHookExW-Funktion verwendet wird. Das System ruft diese Funktion immer dann 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 anwendungsdefiniert oder bibliotheksdefinierte Funktionsnamen.
LRESULT CALLBACK GetMsgProc(
_In_ int code,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
Parameter
Code [in]
Typ: int
Gibt an, ob die Hook-Prozedur die Nachricht verarbeiten muss. Wenn CodeHC_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 einer der folgenden Werte sein:
| Wert | Bedeutung |
|---|---|
| PM_NOREMOVE 0x0000 | Die Nachricht wurde nicht aus der Warteschlange entfernt. (Eine Anwendung namens "PeekMessage ", 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ückkehr
Wenn Code kleiner als 0 ist, muss die Hook-Prozedur den von CallNextHookEx zurü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 Hook-Benachrichtigungen und verhalten sich daher möglicherweise falsch. Wenn die Hook-Prozedur callNextHookEx nicht aufruft, sollte der Rückgabewert null sein.
Bemerkungen
Die GetMsgProc-Hookprozedur kann die Nachricht untersuchen oder ändern.
Nachdem die Hook-Prozedur das Steuerelement 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 Hook-Typ und einen Zeiger auf die Hook-Prozedur in einem Aufruf der SetWindowsHookExA/SetWindowsHookExW-Funktion angibt.