Handler sur un clic hors fenêtre

Résolu
mouloudhab - 27 mars 2013 à 14:47
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 27 mars 2013 à 21:18
Bonjour la communauté,
Je cherche à faire un programme en MFC (dans le genre DialogBox). Et dans ce programme là, je souhaite intercepter les clics de souris qui sont en dehors de la fenêtre, et modifier ensuite l'apparence de la DialogBox (charger une image plutôt q'une autre).

Je suis passé par le Wizard, mais je l'avoue, je n'ose pas aller plus loin tant je ne sais pas ce que font ces handlers.

Merci pour toute aide.

1 réponse

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
27 mars 2013 à 21:18
Salut,

Si tu parles des clicks de sourie sur une autre fenêtre du même programme, la suite ne te concernera pas, par contre si tu veux recevoir dans ton programme les clicks de sourie sur d'autres processus,
il faudra hooker la procédure callback de la fenetre cible.
(pas possible en "standard" depuis le wizard)

En théorie, 1 programme n'est pas fait pour piloter ou recevoir les messages d'un autre programme.
Il y a des technologies "autorisées" et promues par Microsoft pour le faire comme DDE, inter process comm ou l'écriture dans la mémoire partagée.

Puis il y a les hooks.
On pourra installer un HOOK global WH_CALLWNDPROC qui permettra de "surcharger" la WINDOWPROC du processus cible.
C'est ce qu'utilise l'excélentissime programme spy++ livré avec visual.

bye...
3
Rejoignez-nous