Windows : recevoir un evenement qui ne nous est pas destiné ?

Windows : recevoir un evenement qui ne nous est pas destiné ? - C++ - Programmation

Marsh Posté le 24-12-2002 à 09:57:29    

bonjour , je voudrai faire une appli me permettant d'enregistrer des actions faitent à la sourie ou au clavier. Mais du moment que le pointeur sors de la zone de mon appli, celle ci ne recoit plus de message (normal ;)), alors comment faire pour toujours recevoir les evenements de la sourie et du clavier meme si l'application n'est pas selectionnée. merci !

Reply

Marsh Posté le 24-12-2002 à 09:57:29   

Reply

Marsh Posté le 24-12-2002 à 11:20:59    

Tu dois créer un hook. Un hook permet d'intercepter les évènements en dehors de ton process. Ils sont par contre très gourmand en ressources, et tu devras certainement le coder dans une dll.
 
Il y a plusieurs sortes de hooks :
- Les hooks locaux, qui n'existent que dans ton application (exemple : la touche F1 qui déclenche l'aide)
- Les hooks éloignés, qui permettent à ton application d'intercepter n'importe quel évenement (comme les logiciels de capture d'écran qui se déclenchent par appui sur une touche).
 
J'avais trouvé un tutorial à l'époque ou je codais un convertisseur Euro : ce que je voulais, c'était saisir un montant dans n'importe quel champ de saisie de windows (exemple : la barre d'adresses de IE), puis en appuyant sur Pause, qu'une fenêtre s'affiche avec l'équivalent Euro.
 
Ca marchait bien, mais je ne sais plus ou j'avais trouvé le tuto. Je sais par contre qu'il utilisait des exemples en assembleur Win32
 
Cherche sur google avec les mots clé "asm" et "hook", tu trouveras certainement.
 
 
 


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-12-2002 à 11:33:15    

merci beaucoup :)

Reply

Marsh Posté le 24-12-2002 à 19:20:57    

bon j'ai une erreure bizzard, dans msdn, la fonction SetWindowsHookEx , celle qui a priorie sert a ce que je veux faire, doit avoir le paramètre NULL pour le quatrième argument. Mais meme avec ce paramètre je ne recois les evenements clavier que lorsque mon application a le focus. Je me suis basé entre autre sur la page suvante : http://support.microsoft.com/defau [...] ;fr;467439

Reply

Marsh Posté le 24-12-2002 à 23:13:14    

j'ai trouvé un tutorial pour c++ builder, exactement ce que je cherchai : http://tcharles.developpez.com/simul/

Reply

Marsh Posté le 25-12-2002 à 02:08:50    

Citation :

Mais du moment que le pointeur sors de la zone de mon appli, celle ci ne recoit plus de message (normal  )


 
Note : ton application peut recevoir les messages souris même si celle-ci n'est pas au dessus, en capturant la souris (voir SetCapture et ReleaseCapture).
C'est comme ca par exemple que font les popup, menus ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 25-12-2002 à 11:34:34    

ok

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed