Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Hook clavier avec dll

1 réponse
Avatar
Pascal Rito
Bonsoir tout le monde.

J'ai un petit soucis avec la mise en place d'un hook. J'ai d=E9j=E0 post=E9
r=E9cemment un message pour la mise en place d'un hook windows sans dll.
Ce fut au final un succ=E8s.
Cependant, aujourd'hui je me suis renseign=E9 sur la mise en place d'un
hook AVEC dll et je bloque lamentablement.

Dans ma dll, j'ai deux fonctions export=E9es : 'int PlacerHook()' et
'int EnleverHook()' qui me retournaient =E0 la base 0 si elles ont
=E9chou=E9, ou 1 en cas de r=E9ussite.
Dans mon utilitaire, je charge la dll gr=E2ce =E0 LoadLibrary et lorsque
j'utilise la fonction PlacerHook, j'ai 0 en retour... J'ai alors
utilis=E9 GetLastError et je me suis retrouv=E9 avec une erreur 1428 qui
stipule "1428 Cannot set nonlocal hook without a module handle.
ERROR_HOOK_NEEDS_HMOD" et je ne comprends pas pourquoi car j'ain bien
renseign=E9 l'HINSTANCE de la dll...

C'est pourquoi je viens qu=E9rir votre aide pour savoir o=F9 mon code
bloque...

Code de ma dll : http://pastebin.com/mf3c3e7b
Code de mon utilitaire : http://pastebin.com/m4215d2b0

Merci

1 réponse

Avatar
Christian ASTOR
On 28 déc, 02:37, Pascal Rito wrote:

Dans ma dll, j'ai deux fonctions exportées : 'int PlacerHook()' et
'int EnleverHook()' qui me retournaient à la base 0 si elles ont
échoué, ou 1 en cas de réussite.
Dans mon utilitaire, je charge la dll grâce à LoadLibrary et lorsque
j'utilise la fonction PlacerHook, j'ai 0 en retour... J'ai alors
utilisé GetLastError et je me suis retrouvé avec une erreur 1428 qui
stipule "1428 Cannot set nonlocal hook without a module handle.
ERROR_HOOK_NEEDS_HMOD" et je ne comprends pas pourquoi car j'ain bien
renseigné l'HINSTANCE de la dll...



Ca passe avec VS 2003, en ajoutant un .def, mais il faut utiliser une
appli GUI pour l'appel et un "shared data segment" pour le HHOOK dans
la DLL
Voir l'exemple de Microsoft Hooks32.exe (exemple de test pour la
plupart des hooks avec DLL)