Bueno tengo un problema que no e podido resolver.
Estoy tratando de hacer un hook general del teclado usando:
Código
Cuando ejecuto el programa y presiono las teclas alfanumericas, las letras y numeros las reconoce bien pero cuando preciono bloq mayus se cambia el valor de las tecla por ejemplo cuando preciono los numeros aparecen letras o otros simbolos que no corresponder a dicha tecla, las teclas del teclado numero tampoco las reconoce bien este o no activado bloq num.
SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, 0, 0);
Ya lo probe en dos computadoras y hace lo mismo.
Este es mi codigo.
Código
Espero me puedan ayudar.
#include <Windows.h> #include <iostream> using namespace std; HHOOK hHook; LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { KBDLLHOOKSTRUCT kbHookStruct = *((KBDLLHOOKSTRUCT*)lParam); if(wParam == WM_KEYDOWN) { cout << (char)kbHookStruct.vkCode; } return CallNextHookEx(hHook, nCode, wParam, lParam); } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; hHook=SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, 0,0); while(GetMessage(&msg, NULL, 0, 0) == TRUE) { TranslateMessage(&msg); DispatchMessage(&msg); } UnhookWindowsHookEx(hHook); }
Saludos.
Drewermerc.
Ya encontre como solucionarlo, no se si esa era la solucion pero me funciono, solo era jugar un poco con el codigo ascii.
Saludos.
Drewermerc