Recherche
1 connecté

  Actuellement : 10 commentaires Utilisation du composant HookMouse

Le composant HookMouse

Retour
dernière mise à jour le : dimanche 01 juin 2003

 

Description du composant

Le composant HookMouse permet d'intercepter les messages souris. Cela fonctionne aussi bien pour les messages à destination de son application que pour les messages à destination des autres applications.

Concrètement, vous êtes par exemple en train d'utiliser la souris pour le bloc note ou tout autre programme et votre programme peut "espionner" et connaître quel bouton vous avez cliqué, à quelle position de souris etc...

 

Propriétés

Enabled : Actif ou non.

StopMessage : S'il est à vrai, le message est arrêté c'est à dire qu'après avoir récupéré les renseignement, le composant ne fait pas suivre à l'application de destination. Vous avez beau taper sur votre clavier, il ne s'écrit rien dans l'application qui a le focus.

DirectoryDll : Permet d'indiquer le chemin où l'on a placé la Dll (HookMouseDll.dll). Mettre le chemin sans le nom de la dll. Si vous ne mettez rien, pour que ça fonctionne, la dll devra se trouver dans le même dossier que l'exe ou dans un chemin connu de Windows,. Par exemple dans le dossier Windows.

 

Evènements

 

OnMouseDown

Se déclenche lorsque l'on appui sur un des boutons de la souris.

Paramètres :

  • Sender : le composant HookMouse qui a déclenché l'évènement

  • Button: TMouseButton : Identique aux OnMouse habituels (cf aide delphi)

  • Shift: TShiftState : Identique aux OnMouse habituels (cf aide delphi)

  • X, Y: Integer : Position du curseur

  • HandleWindow: HWND : Handle de la fenêtre sur laquelle se trouve la souris.

  • HitTestCode: UINT : Renvoit un code différent lorsue le curseur passe sur une frontière de la fenêtre.

  • ExtraInfo: DWORD : Informations complémentaires utiles par exemple pour la rotation de la roulette de la souris.

 

OnMouseUp

Se déclenche lorsque l'on relâche un des boutons de la souris.

Paramètres : identique à OnMouseDown

 

OnMouseMove

Se déclenche lorsque l'on bouge la souris

Paramètres :

  • Sender : le composant HookMouse qui a déclenché l'évènement

  • Shift: TShiftState : Identique aux OnMouse habituels (cf aide delphi)

  • X, Y: Integer : Position du curseur

  • HandleWindow: HWND : Handle de la fenêtre sur laquelle se trouve la souris.

  • HitTestCode: UINT : Renvoit un code différent lorsue le curseur passe sur une frontière de la fenêtre.

  • ExtraInfo: DWORD : Informations complémentaires par utile par exemple pour la rotation de la roulette de la souris.

 

OnMouseMessage

Se déclenche pour tout évènement lié à la souris.

Paramètres :

  • Sender : le composant HookMouse qui a déclenché l'évènement

  • Msg : Integer : Pour identifier le message qui a créé l'évènement. Elle peut par exemple prendre les valeurs suivantes :
    WM_MOUSEMOVE
    WM_LBUTTONDOWN
    WM_LBUTTONUP
    WM_LBUTTONDBLCLK
    WM_RBUTTONDOWN
    WM_RBUTTONUP
    WM_RBUTTONDBLCLK
    WM_MBUTTONDOWN
    WM_MBUTTONUP
    WM_MBUTTONDBLCLK
    WM_MOUSEWHEEL

  • X, Y: Integer : Position du curseur.

  • HandleWindow: HWND : Handle de la fenêtre sur laquelle se trouve la souris.

  • HitTestCode: UINT : Renvoit un code différent lorsue le curseur passe sur une frontière de la fenêtre.

  • ExtraInfo: DWORD : Informations complémentaires par utile par exemple pour la rotation de la roulette de la souris.

 

OnMouseWheel

Se déclenche lorsque l'on tourne la molette de la souris.

Paramètres :

  • Sender : le composant HookMouse qui a déclenché l'évènement

  • Shift: TShiftState : Identique aux OnMouse habituels (cf aide delphi)

  • WheelDelta : Integer : Indique si on fait tourner la roulette dans le sens + (prend la valeur120) ou - (prend la valeur -120)

  • MousePos: TPoint : Position du curseur.

  • HandleWindow: HWND : Handle de la fenêtre sur laquelle se trouve la souris.

 

OnMouseWheelDown

Se déclenche lorsque l'on tourne la molette de la souris dans le sens négatif.

Paramètres :

  • Sender : le composant HookMouse qui a déclenché l'évènement

  • Shift: TShiftState : Identique aux OnMouse habituels (cf aide delphi)

  • MousePos: TPoint : Position du curseur.

  • HandleWindow: HWND : Handle de la fenêtre sur laquelle se trouve la souris.

 

OnMouseWheelUp

Se déclenche lorsque l'on tourne la molette de la souris dans le sens positif.

Paramètres :

Mêmes paramètres que pour OnMouseWheelUp

 

Principe de fonctionnement

Le composant utilise les Hooks souris. Voir le tutorial sur le site www.phidels.com pour plus de renseignement sur les hooks.

 

Chargement du composant

Télécharger le composant

Contenu du zip :

hookmouse.zip contient le composant (hookmouse.pas et hookmouse.dcr) ainsi que le source de la dll (HookMouseDll.dpr)

testmousehook.zip est un programme de test du composant

Commencez par compiler la dll (chargez HookMouseDll.dpr et compilez) puis placez cette dll (le fichier généré par Delphi HookMouseDll.dll) dans un dossier en concordance avec ce que vous avez rentré dans la propriété DirectoryDll.

Puis installez le composant (voir page installation des composants).

Lors de la distribution, la dll devra accompagner votre exe. Il faudra mettre cette dll dans le poste client et plus précisement dans un dossier en concordance avec ce que vous avez rentré dans la propriété DirectoryDll.