MessageProc fonction)

Description

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 s’est 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 hook 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.

Le type HOOKPROC définit un pointeur vers cette fonction de rappel. MessageProc est un espace réservé pour le nom de la fonction définie par l’application ou par la bibliothèque.

LRESULT CALLBACK MessageProc(
  _In_ int    code,
       WPARAM wParam,
  _In_ LPARAM lParam
);

Paramètres

Code [in]

Type : int

Type d’événement d’entrée qui a généré le message. Si le code est inférieur à zéro, la procédure de raccordement doit passer le message à la fonction CallNextHookEx sans traitement supplémentaire et retourner la valeur retournée par CallNextHookEx. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
MSGF_DDEMGR 0x8001 l’événement d’entrée s’est produit lors de échange dynamique de données l’attente de la fin d’une transaction synchrone par la DDEML Management Library (). pour plus d’informations sur DDEML, consultez bibliothèque de gestion des échange dynamique de données.
MSGF_DIALOGBOX 0 L’événement d’entrée s’est produit dans une boîte de message ou une boîte de dialogue.
MSGF_MENU 2 L’événement d’entrée s’est produit dans un menu.
MSGF_SCROLLBAR 5 L’événement d’entrée s’est produit dans une barre de défilement.

wParam

Type : wParam

Ce paramètre n'est pas utilisé.

lParam [in]

Type : lParam

Pointeur vers une structure MSG .

Retours

Type : LRESULT

Si le code est inférieur à zéro, la procédure de raccordement doit retourner la valeur retournée par CallNextHookEx.

Si le code est supérieur ou égal à zéro et que la procédure de hook n’a pas traité le message, il est fortement recommandé d’appeler CallNextHookEx et de retourner la valeur qu’il retourne ; dans le cas contraire, les autres applications qui ont installé WH_MSGFILTER hooks ne recevront pas de notifications de raccordement et pourront se comporter de manière incorrecte. Si la procédure de Hook a traité le message, elle peut retourner une valeur différente de zéro pour empêcher le système de transmettre le message au reste de la chaîne de raccordement ou à la procédure de fenêtre cible.

Notes

Une application installe la procédure de raccordement en spécifiant le type de hook WH_MSGFILTER et un pointeur vers la procédure de Hook dans un appel à la fonction SetWindowsHookEx .

Si une application qui utilise DDEML et exécute des transactions synchrones doit traiter des messages avant qu’ils ne soient distribués, elle doit utiliser le hook WH_MSGFILTER .

Voir aussi

CallNextHookEx

SetWindowsHookEx

FRAGMENT

Hooks