Bonjour,
Je dois écrire un petit Keylogger pour windows . Après quelques tests possitif sans utiliser la POO, j'ai voulu faire les choses au propre et me faire une classe :
Comme vous le voyez il y a deux fonctions callback . Leurs adresses sont passés en argument dans la fonction SetWindowsHookEx ():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class Keylogger { public: Keylogger(); ~Keylogger(); LRESULT CALLBACK KeyBoardEvent(int code, WPARAM wParam, LPARAM lParam); LRESULT CALLBACK MouseEvent(int code, WPARAM wParam, LPARAM lParam); private: bool MajIsPut(); };
Malheureusement, j'obtiens une magnifique erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int main() { Keylogger loger; HHOOK KeyBoard = SetWindowsHookEx(WH_KEYBOARD_LL, &loger.KeyBoardEvent, NULL, NULL); HHOOK Mouse = SetWindowsHookEx(WH_MOUSE_LL, &loger.MouseEvent, NULL, NULL); /*....*/ UnhookWindowsHookEx(KeyBoard); // decroche l'attache au keyboard UnhookWindowsHookEx(Mouse); return 0; }
Je ne comprends pas d'ou peut provenir le problème, sachant que la même utilisation sans POO marche très bien .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 error C2276: '&'*: opération non conforme sur l'expression d'une fonction membre liée error C2660: 'SetWindowsHookExA'*: la fonction ne prend pas 3 arguments error C2276: '&'*: opération non conforme sur l'expression d'une fonction membre liée error C2660: 'SetWindowsHookExA'*: la fonction ne prend pas 3 arguments
Sans POO ça donne ça :
Doc callback windows : https://msdn.microsoft.com/fr-fr/lib...(v=vs.85).aspx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 HHOOK KeyBoard = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, NULL); HHOOK Mouse = SetWindowsHookEx(WH_MOUSE_LL, MouseProc, NULL, NULL);
Doc setWindowsHookEx : https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
J'ai surement oublié de préciser certaines choses, n'hésitez pas à me le faire remarquer .
Merci pour votre aide
Partager