Partager via


MouseProc, fonction

Description

Fonction de rappel définie par l’application ou définie par la bibliothèque utilisée avec la fonction SetWindowsHookExW/SetWindowsHookExW . Le système appelle cette fonction chaque fois qu’une application appelle la fonction GetMessage ou PeekMessageA/PeekMessageW et qu’un message de souris doit être traité.

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

LRESULT CALLBACK MouseProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

Paramètres

nCode [in]

Type : int

Code que la procédure de raccordement utilise pour déterminer comment traiter le message.

Si nCode est inférieur à zéro, la procédure de raccordement doit transmettre le message à la fonction CallNextHookEx sans traitement supplémentaire et doit retourner la valeur retournée par CallNextHookEx.

Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
HC_ACTION 0 Les paramètres wParam et lParam contiennent des informations sur un message de souris.
HC_NOREMOVE 3 Les paramètres wParam et lParam contiennent des informations sur un message de souris, et le message de la souris n’a pas été supprimé de la file d’attente des messages. (Une application appelée fonction PeekMessage , spécifiant l’indicateur PM_NOREMOVE .)

wParam [in]

Type : WPARAM

Identificateur du message de la souris.

lParam [in]

Type : LPARAM

Pointeur vers une structure MOUSEHOOKSTRUCT .

Retours

Type : LRESULT

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

Si nCode est supérieur ou égal à zéro et que la procédure de raccordement n’a pas traiter le message, il est vivement recommandé d’appeler CallNextHookEx et de retourner la valeur qu’il retourne ; dans le cas contraire, d’autres applications qui ont installé des hooks WH_MOUSE ne recevront pas de notifications de hook et risquent de se comporter de manière incorrecte.

Si la procédure de raccordement a traité le message, elle peut retourner une valeur différente de zéro pour empêcher le système de transmettre le message à la procédure de fenêtre cible.

Notes

Une application installe la procédure de raccordement en spécifiant le type de hook WH_MOUSE et un pointeur vers la procédure de hook dans un appel à la fonction SetWindowsHookExA/SetWindowsHookExW .

La procédure de raccordement ne doit pas installer une fonction de rappel WH_JOURNALPLAYBACK .

Ce hook peut être appelé dans le contexte du thread qui l’a installé. L’appel est effectué en envoyant un message au thread qui a installé le hook. Par conséquent, le thread qui a installé le hook doit avoir une boucle de message.

Voir aussi

CallNextHookEx

GetMessage

MOUSEHOOKSTRUCT

PeekMessage

SetWindowsHookEx

Hooks

À propos de Hooks