SysMsgProc-Funktion
Beschreibung
Eine anwendungs- oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, nachdem ein Eingabeereignis in einem Dialogfeld, Meldungsfeld, Menü oder einer Bildlaufleiste auftritt, aber bevor die vom Eingabeereignis generierte Nachricht verarbeitet wird. Die Funktion kann Nachrichten für jedes Dialogfeld, jedes Meldungsfeld, jedes Menü oder jede Scrollleiste im System überwachen.
Der HOOKPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. SysMsgProc ist ein Platzhalter für den anwendungs- oder bibliotheksdefinierten Funktionsnamen.
LRESULT CALLBACK SysMsgProc(
_In_ int nCode,
WPARAM wParam,
_In_ LPARAM lParam
);
Parameter
nCode [in]
Typ: int
Der Typ des Eingabeereigniss, das die Nachricht generiert hat. Wenn nCode kleiner als 0 (null) ist, muss die Hookprozedur die Nachricht ohne weitere Verarbeitung an die CallNextHookEx-Funktion übergeben und den von CallNextHookEx zurückgegebenen Wert zurückgeben. Dieser Parameter kann einen der folgenden Werte annehmen.
| Wert | Bedeutung |
|---|---|
| MSGF_DIALOGBOX 0 | Das Eingabeereignis ist in einem Meldungsfeld oder Dialogfeld aufgetreten. |
| MSGF_MENU 2 | Das Eingabeereignis ist in einem Menü aufgetreten. |
| MSGF_SCROLLBAR 5 | Das Eingabeereignis ist in einer Bildlaufleiste aufgetreten. |
wParam
Typ: WPARAM
Dieser Parameter wird nicht verwendet.
lParam [in]
Typ: LPARAM
Ein Zeiger auf eine MSG-Nachrichtenstruktur.
Gibt zurück
Typ: LRESULT
Wenn nCode kleiner als 0 (null) ist, muss die Hookprozedur den von CallNextHookEx zurückgegebenen Wert zurückgeben.
Wenn nCode größer oder gleich 0 (null) ist und die Hookprozedur die Nachricht nicht verarbeiten konnte, wird dringend empfohlen, CallNextHookEx aufrufen und den zurückgegebenen Wert zurückgibt. Andernfalls erhalten andere Anwendungen, die WH_SYSMSGFILTER Hooks installiert haben, keine Hookbenachrichtigungen und verhalten sich möglicherweise falsch. Wenn die Hookprozedur die Nachricht verarbeitet hat, wird möglicherweise ein Wert ungleich 0 (null) zurückgeben, um zu verhindern, dass das System die Nachricht an die Zielfensterprozedur übergehen kann.
Hinweise
Eine Anwendung installiert die Hookprozedur, indem sie WH_SYSMSGFILTER Hooktyp und einen Zeiger auf die Hookprozedur in einem Aufruf der SetWindowsHookEx-Funktion an.