#include <Windows.h>
HHOOK hKeyboardHook;
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
if (nCode >= 0) {
// Captura la estructura de datos del evento de teclado
KBDLLHOOKSTRUCT* pKeyInfo = (KBDLLHOOKSTRUCT*)lParam;
// Realiza alguna acción basada en el evento de teclado
if (wParam == WM_KEYDOWN) {
// La tecla ha sido presionada
int keyCode = pKeyInfo->vkCode;
// Realiza acciones según la tecla presionada
// ...
// Ejemplo: Imprimir el código de la tecla presionada
printf("Tecla presionada: %d\n", keyCode);
}
}
// Llama al siguiente gancho en la cadena
return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam);
}
int main() {
// Instala el gancho de teclado
hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, GetModuleHandle(NULL), 0);
// Mantiene la aplicación en ejecución
MSG msg;
while (GetMessage(&msg, NULL, 0, 0) != 0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// Desinstala el gancho de teclado antes de salir
UnhookWindowsHookEx(hKeyboardHook);
return 0;
}