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-Funktion/SetWindowsHookExW verwendet wird. Die Funktion empfängt Benachrichtigungen über Shellereignisse vom System.
Der HOOKPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. ShellProc ist ein Platzhalter für den anwendungsdefinierte oder bibliotheksdefinierte Funktionsnamen.
LRESULT CALLBACK ShellProc(
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
Parameter
nCode [in]
Typ: int
Der Hookcode.
Wenn nCode kleiner als 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 |
|---|---|
| HSHELL_ACCESSIBILITYSTATE 11 | Der Zustand der Barrierefreiheit hat sich geändert. |
| HSHELL_ACTIVATESHELLWINDOW 3 | Die Shell sollte ihr Standard Fenster aktivieren. |
| HSHELL_APPCOMMAND 12 | Der Benutzer hat ein Eingabeereignis abgeschlossen (z. B. eine Anwendungsbefehlsschaltfläche auf der Maus oder eine Anwendungsbefehlstaste auf der Tastatur gedrückt), und die Anwendung hat die von dieser Eingabe generierte WM_APPCOMMAND Meldung nicht verarbeitet. Wenn die Shell-Prozedur die WM_COMMAND-Nachricht verarbeitet, sollte callNextHookEx nicht aufgerufen werden. Weitere Informationen finden Sie im Abschnitt Rückgabewert. |
| HSHELL_GETMINRECT 5 | Ein Fenster wird minimiert oder maximiert. Das System benötigt die Koordinaten des minimierten Rechtecks für das Fenster. |
| HSHELL_LANGUAGE 8 | Die Tastatursprache wurde geändert, oder ein neues Tastaturlayout wurde geladen. |
| HSHELL_REDRAW 6 | Der Titel eines Fensters in der Taskleiste wurde neu gezeichnet. |
| HSHELL_TASKMAN 7 | Der Benutzer hat die Aufgabenliste ausgewählt. Eine Shellanwendung, die eine Aufgabenliste bereitstellt, sollte TRUE zurückgeben, um zu verhindern, dass Windows seine Aufgabenliste startet. |
| HSHELL_WINDOWACTIVATED 4 | Die Aktivierung wurde in ein anderes Fenster der obersten Ebene ohne Besitzer geändert. |
| HSHELL_WINDOWCREATED 1 | Ein Fenster auf oberster Ebene wurde erstellt. Das Fenster ist vorhanden, wenn das System diesen Hook aufruft. |
| HSHELL_WINDOWDESTROYED 2 | Ein Fenster auf oberster Ebene wird gerade zerstört. Das Fenster ist weiterhin vorhanden, wenn das System diesen Hook aufruft. |
| HSHELL_WINDOWREPLACED 13 | Ein Fenster der obersten Ebene wird ersetzt. Das Fenster ist vorhanden, wenn das System diesen Hook aufruft. |
wParam [in]
Typ: WPARAM
Dieser Parameter hängt vom Wert des nCode-Parameters ab, wie in der folgenden Tabelle gezeigt.
| nCode | wParam |
|---|---|
| HSHELL_ACCESSIBILITYSTATE | Gibt an, welche Barrierefreiheitsfunktion den Status geändert hat. Dieser Wert ist einer der folgenden: ACCESS_FILTERKEYS, ACCESS_MOUSEKEYS oder ACCESS_STICKYKEYS. |
| HSHELL_APPCOMMAND | Gibt an, wohin die WM_APPCOMMAND Nachricht ursprünglich gesendet wurde; z. B. das Handle für ein Fenster. Weitere Informationen finden Sie unter cmd-Parameter in WM_APPCOMMAND. |
| HSHELL_GETMINRECT | Ein Handle für das minimierte oder maximierte Fenster. |
| HSHELL_LANGUAGE | Ein Handle für das Fenster. |
| HSHELL_REDRAW | Ein Handle für das neu gezeichnete Fenster. |
| HSHELL_WINDOWACTIVATED | Ein Handle für das aktivierte Fenster. |
| HSHELL_WINDOWCREATED | Ein Handle für das erstellte Fenster. |
| HSHELL_WINDOWDESTROYED | Ein Handle für das zerstörte Fenster. |
| HSHELL_WINDOWREPLACED | Ein Handle für das zu ersetzende Fenster. Windows 2000: Nicht unterstützt. |
lParam [in]
Typ: LPARAM
Dieser Parameter hängt vom Wert des nCode-Parameters ab, wie in der folgenden Tabelle gezeigt.
| nCode | lParam |
|---|---|
| HSHELL_APPCOMMAND |
GET_APPCOMMAND_LPARAM(lParam) ist der Anwendungsbefehl, der dem Eingabeereignis entspricht.
GET_DEVICE_LPARAM(lParam) gibt an, was das Eingabeereignis generiert hat; z. B. die Maus oder Tastatur. Weitere Informationen finden Sie unter beschreibung des uDevice-Parameters unter WM_APPCOMMAND.
GET_FLAGS_LPARAM(lParam) hängt vom Wert von cmd in WM_APPCOMMAND ab. Es kann z. B. angeben, welche virtuellen Schlüssel beim ursprünglichen Senden der WM_APPCOMMAND Nachricht gedrückt wurden. Weitere Informationen finden Sie unter dem dwCmdFlags description-Parameter unter WM_APPCOMMAND. |
| HSHELL_GETMINRECT | Ein Zeiger auf eine RECT-Struktur . |
| HSHELL_LANGUAGE | Ein Handle für ein Tastaturlayout. |
| HSHELL_MONITORCHANGED | Ein Handle für das Fenster, das zu einem anderen Monitor verschoben wurde. |
| HSHELL_REDRAW | Der Wert ist TRUE , wenn das Fenster blinkt, oder andernfalls FALSE . |
| HSHELL_WINDOWACTIVATED | Der Wert ist TRUE, wenn sich das Fenster im Vollbildmodus befindet, oder andernfalls FALSE . |
| HSHELL_WINDOWREPLACED | Ein Handle für das neue Fenster. Windows 2000: Nicht unterstützt. |
Gibt zurück
Typ: LRESULT
Der Rückgabewert sollte null sein, es sei denn, der Wert von nCode ist HSHELL_APPCOMMAND und die Shellprozedur verarbeitet die WM_COMMAND Nachricht. In diesem Fall sollte die Rückgabe ungleich null sein.
Hinweise
Installieren Sie diese Hookprozedur, indem Sie den WH_SHELL Hooktyp und einen Zeiger auf die Hookprozedur in einem Aufruf der SetWindowsHookEx-Funktion angeben.