krokro6
Messages postés66Date d'inscriptionjeudi 8 avril 2004StatutMembreDernière intervention28 juin 2007
-
3 juin 2007 à 23:41
krokro6
Messages postés66Date d'inscriptionjeudi 8 avril 2004StatutMembreDernière intervention28 juin 2007
-
4 juin 2007 à 20:48
Salut à tous, j'ai un gros problème depuis que j'ai commencé à utiliser les hooks, le problème est le suivant : pourquoi quand j'apelle ma fonction qui met en place le hook (InitHook) à partir d'un loader le hook ne se place que sur le programme avec lequel j'ai lancé la fonction InitHook ? exemple : http://rafb.net/p/QjV8FS98.html
ce code source de hook enregistre les coordonnées de la souris à chaque appui sur le bouton droit de la souris.
Une fois ce code compilé j'obtiens ma jolie dll qui marche à merveille mais le problème, c'est qu'elle ne marche que lorsque je fais un click droit sur le programme avec lequel j'ai appellée la fonction InitHook :'(.
Personne ne peut m'aider à régler ce problèmpe je vous en supplie :>.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 4 juin 2007 à 13:13
Salut,
Tu peux par exemple réouvrir le fichier dans ta MouseProc s'il ne l'est pas déjà (Tu teste que l'écriture se fait. Si elle ne se fait pas, tu ouvre le fichier).
Mais je sais pas ce que ça donne, plein de processus écrivant dans le même fichier...
DuplicateHandle permet de générer des handles valides dans les autres processes, mais le souci devient alors de transmettre la valeur de ces handles aux processus.
Je dis ça juste pour éviter le CreateFile à chaque message logué, qui est certainement pas anodain en matière de temps CPU (Vérification des droits...). Et comme on est dans un hook, autant que ça tourne vite.
http://msdn2.microsoft.com/en-us/library/ms682594.aspx
krokro6
Messages postés66Date d'inscriptionjeudi 8 avril 2004StatutMembreDernière intervention28 juin 2007 4 juin 2007 à 19:05
error LNK2019: symbole externe non résolu @bnitoa@8 référencé dans la fonction "long __stdcall MouseProc(int,unsigned int,long)" (?MouseProc@@YGJHIJ@Z)
voila l'erreur que j'ai lors de la compilation, j'ai dl les fichiers bnIntA.h et bnIntA.cpp ensuite #include "bnIntA.h" et vala erreur. merci.