Kheo
Messages postés21Date d'inscriptionlundi 2 septembre 2002StatutMembreDernière intervention10 décembre 2007
-
9 déc. 2007 à 20:27
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 2008
-
10 déc. 2007 à 23:33
Bonjour,
Est ce que quelqu'un pourrait me donner quelques infos sur la méthode à employer pour capter des touches dans une autre appli.
En fait je veux executer du code lorsque que j'appuie sur la touche F5 alors que le focus est sur une application cible.
Je veux détourner la touche F5 de cette appli vers mon code.
J'ai laborieusement essayé de trifouiller avec setWindowsHookEx, mais ca n'est pas très concluant.
Si vous aviez un ou deux sources exemple, ca pourrait m'aider, merci.
Kheo
Messages postés21Date d'inscriptionlundi 2 septembre 2002StatutMembreDernière intervention10 décembre 2007 10 déc. 2007 à 13:46
Oui c'est un très bon exemple que j'ai déjà croisé, et que j'ai utilisé comme référence.
Mais comment restreindre le hook sur une appli en particulier. Cette appli en l'occurence je la récup a grand coup de EnumWindows de la lib psapi.
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 10 déc. 2007 à 14:40
Comme le dit SAKingdom, récupère comme tu peux le handle de la fenetre que tu veux "hooker".
Ensuite, lorsque dans ton hook tu es averti de l'appui sur la touche F5, compare ce handle avec celui de la fenetre active ou regarde si la fenetre que tu veux hooker estactive (IsWindowEnabled).
Je ne sais pas laquelle des deux méthodes est la plus rapide (GetForegroundWindow ou IsWindowEnabled). SAKingdom?
Kheo
Messages postés21Date d'inscriptionlundi 2 septembre 2002StatutMembreDernière intervention10 décembre 2007 10 déc. 2007 à 19:03
Ok merci les gars... trop bon je vais me tester ca dès que possible. J'étais tout simplement parti sur une autre piste ou je ne "hookais" que ma fenetre, alors qui faut faire un hook global est filtrer les messages.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 10 déc. 2007 à 21:25
La plus rapide entre GetForegroundWindow et IsWindowEnable, je l'ignore (c'est brunews qui a les sources de windows ici) mais je pencherais pour IsWindowEnable.
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 10 déc. 2007 à 23:33
Merci Brunews pour cette information.
J'aurais comme SAKingdom penché sur IsWindowEnable, comme quoi, les apparences sont parfois trompeuses, même en prog!