Hook sur notepad

aztcaLISS Messages postés 91 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 25 avril 2008 - 10 août 2007 à 19:48
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 - 10 août 2007 à 21:04
Salut,


J'essaye de comprendre les hooks.
J'ai regarder le code de racpp: http://www.cppfrance.com/codes/HOOK-GLOBAL-SANS-DLL_27169.aspx
Je l'ai compilé et ca fonctionne tres bien.
Ce que je veux faire c'est seulement de mettre le hook sur la fenetre notepad qui est presentement ouverte.
J'ai modifier la ligne 79 de son code par:




DWORD dwProcessId;
HWND hNotePad = FindWindow("notepad", 0);
GetWindowThreadProcessId(hNotePad, &dwProcessId);
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC) HookProc, hExe, dwProcessId);




Ca ne fonctionne pas, je me retrouve avec un hHook == 0.
Avez-vous une idée?


merci




azt

3 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
10 août 2007 à 20:18
Salut,

Le dernier param de SetWindowsHookEx c'est un l'id d'un thread, pas d'un celui d'un processus.

D'apres msdn, les hook de type WH_KEYBOARD_LL ne peuvent pas etre locaux, donc tu devrais plutot laisser 0 en dernier param.
0
aztcaLISS Messages postés 91 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 25 avril 2008
10 août 2007 à 20:32
Mais si je met 0 comme dernier param je recupere tous les messages de tous les thread qui roulent sur le bureau.Comment je fais pour capturer seulement ceux de notepad.
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
10 août 2007 à 21:04
Salut,

Ben c'est a toi de filtrer les messages qui t'interessent ou non... a
moins qu'un hook de type WH_KEYBOARD te suffise ? celui la peut etre
local (toujours d'apres msdn).
0
Rejoignez-nous