Partager via


Crochets

Un hook est un point dans le mécanisme de gestion des messages système où une application peut installer une sous-routine pour surveiller le trafic des messages dans le système et traiter certains types de messages avant d’atteindre la procédure de fenêtre cible.

Dans cette section

Nom Description
Vue d’ensemble du hook Explique comment les crochets doivent être utilisés.
utilisation de crochets Montre comment effectuer des tâches associées à des hooks.
de référence de hook Contient la référence de l’API.

Fonctions de hook

Nom Description
callMsgFilter Transmet le code de raccordement et de message spécifiés aux procédures de raccordement associées aux procédures de raccordement WH_SYSMSGFILTER et WH_MSGFILTER.
CallNextHookEx Transmet les informations de raccordement à la procédure de crochet suivante dans la chaîne de crochets actuelle. Une procédure de raccordement peut appeler cette fonction avant ou après le traitement des informations de raccordement.
callWndProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction avant d’appeler la procédure de fenêtre pour traiter un message envoyé au thread.
CallWndRetProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction après l’appel de la fonction SendMessage. La procédure de raccordement peut examiner le message ; elle ne peut pas la modifier.
CBTProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction avant d’activer, de créer, de détruire, de réduire, d’optimiser, de déplacer ou de dimensionner une fenêtre ; avant de terminer une commande système ; avant de supprimer un événement de souris ou de clavier de la file d’attente des messages système ; avant de définir le focus clavier ; ou avant la synchronisation avec la file d’attente de messages système. Une application de formation basée sur ordinateur (CBT) utilise cette procédure de raccordement pour recevoir des notifications utiles du système.
DebugProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction avant d’appeler les procédures de raccordement associées à n’importe quel type de hook. Le système transmet des informations sur le hook à appeler à la procédure de DéboguerProc, qui examine les informations et détermine s’il faut autoriser l’appel du crochet.
foregroundIdleProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction chaque fois que le thread de premier plan est sur le point de devenir inactif.
GetMsgProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction chaque fois que la fonction GetMessage ou fonction PeekMessage a récupéré un message à partir d’une file d’attente de messages d’application. Avant de renvoyer le message récupéré à l’appelant, le système transmet le message à la procédure de raccordement.
JournalPlaybackProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. En règle générale, une application utilise cette fonction pour lire une série de messages de souris et de clavier enregistrés précédemment par la procédure de hookJournalRecordProc. Tant qu’une procédure de raccordement JournalPlaybackProc est installée, l’entrée normale de la souris et du clavier est désactivée.
journalRecordProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. La fonction enregistre les messages que le système supprime de la file d’attente des messages système. Plus tard, une application peut utiliser une procédure de raccordement JournalPlaybackProc pour lire les messages.
ClavierProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction chaque fois qu’une application appelle la fonction GetMessage ou Fonction PeekMessage et qu’un message clavier (WM_KEYUP ou WM_KEYDOWN) doit être traité.
LowLevelKeyboardProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction chaque fois qu’un nouvel événement d’entrée clavier est sur le point d’être publié dans une file d’attente d’entrée de thread.
LowLevelMouseProuseProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction chaque fois qu’un nouvel événement d’entrée de souris est sur le point d’être publié dans une file d’attente d’entrée de thread.
messageProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction après qu’un événement d’entrée se produit dans une boîte de dialogue, une boîte de message, un menu ou une barre de défilement, mais avant le traitement du message généré par l’événement d’entrée. La procédure de raccordement peut surveiller les messages d’une boîte de dialogue, d’une boîte de message, d’un menu ou d’une barre de défilement créée par une application particulière ou toutes les applications.
mouseProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction chaque fois qu’une application appelle la fonction GetMessage ou Fonction PeekMessage et qu’un message de souris doit être traité.
SetWindowsHookEx Installe une procédure de hook définie par l’application dans une chaîne de crochets. Vous installez une procédure de raccordement pour surveiller le système pour certains types d’événements. Ces événements sont associés à un thread spécifique ou à tous les threads du même bureau que le thread appelant.
ShellProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. La fonction reçoit les notifications des événements Shell du système.
sysMsgProc Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookEx. Le système appelle cette fonction après qu’un événement d’entrée se produit dans une boîte de dialogue, une boîte de message, un menu ou une barre de défilement, mais avant le traitement du message généré par l’événement d’entrée. La fonction peut surveiller les messages de n’importe quelle boîte de dialogue, boîte de message, menu ou barre de défilement dans le système.
UnhookWindowsHookEx Supprime une procédure de raccordement installée dans une chaîne de crochets par la fonction SetWindowsHookEx.

Hook Notifications

Nom Description
WM_CANCELJOURNAL Publié dans une application lorsqu’un utilisateur annule les activités de journalisation de l’application. Le message est publié avec un handle de fenêtre NULL.
WM_QUEUESYNC Envoyé par une application CBT pour séparer les messages d’entrée utilisateur d’autres messages envoyés par le biais de la procédure de WH_JOURNALPLAYBACK.

Structures de crochet

Nom Description
CBT_CREATEWND Contient des informations transmises à une procédure de raccordement WH_CBT, CBTProc, avant la création d’une fenêtre.
CBTACTIVATESTRUCT Contient des informations transmises à une procédure de raccordement WH_CBT, CBTProc, avant l’activation d’une fenêtre.
CWPRETSTRUCT Définit les paramètres de message passés à une procédure de hook WH_CALLWNDPROCRET, CallWndRetProc.
CWPSTRUCT Définit les paramètres de message passés à une procédure de hook WH_CALLWNDPROC, CallWndProc.
DEBUGHOOKINFO Contient des informations de débogage transmises à une procédure de hook WH_DEBUG, DebugProc.
eventMSG Contient des informations sur un message matériel envoyé à la file d’attente des messages système. Cette structure permet de stocker des informations de message pour la fonction de rappel JournalPlaybackProc.
KBDLLHOOKSTRUCT Contient des informations sur un événement d’entrée clavier de bas niveau.
MOUSEHOOKSTRUCT Contient des informations sur un événement de souris passé à une procédure de hook WH_MOUSE, MouseProc.
MOUSEHOOKSTRUCTEX Contient des informations sur un événement de souris passé à une procédure de hook WH_MOUSE, MouseProc.
MSLLHOOKSTRUCT Contient des informations sur un événement d’entrée de souris de bas niveau.

SetWinEventHook