MouseProc, fonction
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
);
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 .) |
Type : WPARAM
Identificateur du message de la souris.
Type : LPARAM
Pointeur vers une structure MOUSEHOOKSTRUCT .
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.
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.