Hooks

Ein Hook ist ein Punkt im System für die Nachrichtenverarbeitung, an dem eine Anwendung eine Unterroutine installieren kann, um den Nachrichtendatenverkehr im System zu überwachen und bestimmte Arten von Nachrichten zu verarbeiten, bevor sie die Zielfensterprozedur erreichen.

In diesem Abschnitt

Name BESCHREIBUNG
Übersicht über Hooks Erläutert, wie Hooks verwendet werden sollen.
Verwenden von Hooks Veranschaulicht, wie Aufgaben ausgeführt werden, die Hooks zugeordnet sind.
Hook-Referenz Enthält die API-Referenz.

Hookfunktionen

Name BESCHREIBUNG
CallMsgFilter Übergibt die angegebene Meldung und den angegebenen Hookcode an die Hookprozeduren, die den WH_SYSMSGFILTER und WH_MSGFILTER Hookprozeduren zugeordnet sind.
CallNextHookEx Übergibt die Hookinformationen an die nächste Hookprozedur in der aktuellen Hookkette. Eine Hookprozedur kann diese Funktion entweder vor oder nach der Verarbeitung der Hookinformationen aufrufen.
CallWndProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, bevor die Fensterprozedur aufgerufen wird, um eine an den Thread gesendete Nachricht zu verarbeiten.
CallWndRetProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, nachdem die SendMessage-Funktion aufgerufen wurde. Die Hookprozedur kann die Nachricht untersuchen. sie kann sie nicht ändern.
CBTProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, bevor ein Fenster aktiviert, erstellt, zerstört, minimiert, maximiert, verschoben oder dimensioniert wird. vor dem Ausführen eines Systembefehls; vor dem Entfernen eines Maus- oder Tastaturereignisses aus der Systemnachrichtenwarteschlange; vor dem Festlegen des Tastaturfokus; oder vor der Synchronisierung mit der Systemnachrichtenwarteschlange. Eine CBT-Anwendung (Computer-Based Training) verwendet dieses Hookverfahren, um nützliche Benachrichtigungen vom System zu erhalten.
DebugProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, bevor die Hookprozeduren aufgerufen werden, die einem beliebigen Hooktyp zugeordnet sind. Das System übergibt Informationen über den hook, der aufgerufen werden soll, an die DebugProc-Hookprozedur , die die Informationen untersucht und bestimmt, ob der Hook aufgerufen werden kann.
ForegroundIdleProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion immer dann auf, wenn der Vordergrundthread in den Leerlauf wechselt.
GetMsgProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, wenn die GetMessage - oder PeekMessage-Funktion eine Nachricht aus einer Anwendungsnachrichtenwarteschlange abgerufen hat. Bevor die abgerufene Nachricht an den Aufrufer zurückgegeben wird, übergibt das System die Nachricht an die Hookprozedur.
JournalPlaybackProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. In der Regel verwendet eine Anwendung diese Funktion, um eine Reihe von Maus- und Tastaturnachrichten wiederzugeben, die zuvor von der JournalRecordProc-Hookprozedur aufgezeichnet wurden. Solange eine JournalPlaybackProc-Hookprozedur installiert ist, sind normale Maus- und Tastatureingaben deaktiviert.
JournalRecordProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Die Funktion zeichnet Nachrichten auf, die das System aus der Systemnachrichtenwarteschlange entfernt. Später kann eine Anwendung eine JournalPlaybackProc-Hookprozedur verwenden, um die Nachrichten wiederzugeben.
KeyboardProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion immer dann auf, wenn eine Anwendung die GetMessage - oder PeekMessage-Funktion aufruft und eine Tastaturnachricht (WM_KEYUP oder WM_KEYDOWN) verarbeitet werden soll.
LowLevelKeyboardProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion jedes Mal auf, wenn ein neues Tastatureingabeereignis in einer Threadeingabewarteschlange bereitgestellt wird.
LowLevelMouseProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion jedes Mal auf, wenn ein neues Mauseingabeereignis in einer Threadeingabewarteschlange bereitgestellt wird.
MessageProc Eine anwendungsdefinierte 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 Bildlaufleiste auftritt, aber bevor die vom Eingabeereignis generierte Nachricht verarbeitet wird. Die Hookprozedur kann Nachrichten für ein Dialogfeld, ein Meldungsfeld, ein Menü oder eine Bildlaufleiste überwachen, die von einer bestimmten Anwendung oder allen Anwendungen erstellt wurde.
MouseProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Das System ruft diese Funktion auf, wenn eine Anwendung die GetMessage - oder PeekMessage-Funktion aufruft und eine Mausnachricht verarbeitet werden soll.
SetWindowsHookEx Installiert eine anwendungsdefinierte Hookprozedur in einer Hookkette. Sie würden eine Hookprozedur installieren, um das System auf bestimmte Arten von Ereignissen zu überwachen. Diese Ereignisse sind entweder einem bestimmten Thread oder allen Threads auf demselben Desktop wie der aufrufende Thread zugeordnet.
ShellProc Eine anwendungsdefinierte oder bibliotheksdefinierte Rückruffunktion, die mit der SetWindowsHookEx-Funktion verwendet wird. Die Funktion empfängt Benachrichtigungen über Shellereignisse vom System.
SysMsgProc Eine anwendungsdefinierte 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 Bildlaufleiste auftritt, aber bevor die vom Eingabeereignis generierte Nachricht verarbeitet wird. Die Funktion kann Nachrichten für alle Dialogfelder, Nachrichtenboxen, Menüs oder Bildlaufleisten im System überwachen.
UnhookWindowsHookEx Entfernt eine Hookprozedur, die von der SetWindowsHookEx-Funktion in einer Hookchain installiert wurde.

Hookbenachrichtigungen

Name BESCHREIBUNG
WM_CANCELJOURNAL Wird an eine Anwendung gesendet, wenn ein Benutzer die Journalaktivitäten der Anwendung abbricht. Die Nachricht wird mit einem NULL-Fensterhandle bereitgestellt.
WM_QUEUESYNC Wird von einer CBT-Anwendung gesendet, um Benutzereingabenachrichten von anderen Nachrichten zu trennen, die über die WH_JOURNALPLAYBACK-Prozedur gesendet werden.

Hook-Strukturen

Name BESCHREIBUNG
CBT_CREATEWND Enthält Informationen, die an die WH_CBT Hookprozedur CBTProc übergeben werden, bevor ein Fenster erstellt wird.
CBTACTIVATESTRUCT Enthält Informationen, die an die WH_CBT Hookprozedur CBTProc übergeben werden, bevor ein Fenster aktiviert wird.
CWPRETSTRUCT Definiert die Nachrichtenparameter, die an eine WH_CALLWNDPROCRET Hookprozedur( CallWndRetProc) übergeben werden.
CWPSTRUCT Definiert die Nachrichtenparameter, die an eine WH_CALLWNDPROC Hookprozedur( CallWndProc) übergeben werden.
DEBUGHOOKINFO Enthält Debuginformationen, die an die WH_DEBUG Hookprozedur DebugProc übergeben werden.
EVENTMSG Enthält Informationen zu einer Hardwarenachricht, die an die Systemnachrichtenwarteschlange gesendet wird. Diese Struktur wird verwendet, um Nachrichteninformationen für die JournalPlaybackProc-Rückruffunktion zu speichern.
KBDLLHOOKSTRUCT Enthält Informationen zu einem Tastatureingabeereignis auf niedriger Ebene.
MOUSEHOOKSTRUCT Enthält Informationen zu einem Mausereignis, das an die WH_MOUSE Hookprozedur MouseProc übergeben wird.
MOUSEHOOKSTRUCTEX Enthält Informationen zu einem Mausereignis, das an die WH_MOUSE Hookprozedur MouseProc übergeben wird.
MSLLHOOKSTRUCT Enthält Informationen zu einem Low-Level-Mauseingabeereignis.

SetWinEventHook