Bonjour à tous,
Je suis à la recherche d'information au sujet de la mise en place de hook clavier sur un processus distant.
Je m'explique, j'aimerai ouvrir une messagebox a chaque fois qu'une touche est pressée dans l'application 'cible' ; l'utilité ? Aucune, juste satisfaire ma curiosité.
J'ai lu pas mal de tuto parlant de DLL à injecter et compagnie je m'y suis essayé.
J'ai donc crée un injecteur de DLL qui fonctionne, j'ai crée également ma DLL qui met en place un hook avec un fichier de sortie pour pouvoir logger le déroulement de la chose.
L'installation du hook se passe bien cependant je rencontre un souci un peu particulier voyez plutot :
A la réussite de l'installation du hook, je demande (via ma dll) de m'afficher une messageBox à chaque action 'recue' , de plus une fois le hook placé et en cas de réussite, je me fais afficher une messageBox ("Hook en place") mais le hook est placé sur cette fenêtre. En effet si je valide la fenetre (hook en place) par la souris je n'ai plus de sortie par contre si je la valide en tappant sur entrée, j'ai une nouvelle MsgBox qui s'ouvre m'informant de la réception d'une action clavier ...
J'en déduit que le hook est pas placé comme il faut (sur le mauvais process), malheureusement je n'arrive pas à isoler le souci, j'ai bien tenter de modifier le dernier paramètre de la fonction SetWindowHookEx() par 0 ou par le l'ID du thread ayant généré la fenêtre que je désire écouter mais rien n'y fait.
Auriez vous une idée ?
Merci d'avance.
Bonne journée
Partager