Salut tout le monde !
Je suis un petit peu en galère en ce moment parce que je regarde les hooks windows en c++ (et c'est pas ce qu'il y a de plus facile).
Après 2 jours de recherches, 2 heures de désespoir et 1 dodo je commence enfin a comprendre comment ça marche grâce a ce cher monsieur : (bien que son but soit de faire un keylogger et ce n'est pas le miens, mais là n'est pas la question).
En efet cette vidéo explique assez bien mais je ne veux pas utiliser Qt, dans le doute j'ai quand même écrit ce programme dessus (c'est pas la fin hein ! seulement 1/3 de la vidéo) :
donc celui là fonctionne, il ne fait rien et quand j'appuie sur une touche du clavier, il me renvoie "key pressedé"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <QtCore/QCoreApplication> #include <QDebug> #include <QTime> #include <QChar> #include <windows.h> #include <iostream> HHOOK hHook; using namespace std; LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { qDebug() << "key pressed"; return CallNextHookEx(hHook, nCode, wParam, lParam); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); hHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, 0); if(hHook == NULL) { qDebug() << "Hook Failed"; } return a.exec(); }
mais moi je veux pas utiliser Qt donc dans code blocks j'ai fais
mais ce truc la ne marche pas, il renvoie "Hook failed" a l’infini....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include <windows.h> #include <iostream> HHOOK hHook; using namespace std; LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { cout << "key pressed"; return CallNextHookEx(hHook, nCode, wParam, lParam); } int main(int argc, char *argv[]) { while(1) { hHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, 0); if(hHook == NULL) { cout << "Hook Failed"; } } return 0; }
qu'est-ce qui est faux dans mon programme ?
thanks d'avance amis développeur![]()
Partager