Проблема такая: поставил хук WH_KEYBOARD_LL. Всё хорошо работает, но я не знаю как правильно разименовать lParam процедуры хука, чтобы дальше записать скан-код в файл. Как это сделать? Код (Text): .data EOLN DB 13, 10, 0 .code HookProc proc nCode:DWORD, wParam:DWORD, lParam:DWORD .if nCode<0 invoke CallNextHookEx, NULL, nCode, wParam, lParam ret .elseif nCode == HC_ACTION ; записать в lpBuffer скан-код mov eax, 0 ret .endif HookProc endp
Как-как...lParam у тебя указывает на структуру KBDLLHOOKSTRUCT Код (Text): typedef struct { DWORD vkCode; DWORD scanCode; DWORD flags; DWORD time; ULONG_PTR dwExtraInfo; } KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT; Соответсвенно, lParam+4 у тебя будет указывать на скан-код клавиши (dword). Помоему, все просто :\ Т.е. делаем так mov eax,lParam mov eax,dword ptr [eax+4] ; теперь в еах - скан код.