Привет Всех с прошедшим НГ! Нужно самым простейшим образом заблокировать клавиатуру полностью. Чтобы не было реакции ни на одну кнопку или их комбинацию, при этом мышь должна работать. Т.е. есть окошечко и 2 кнопки (вкл. клавиатуру и выкл. клавиатуру). BlockInput() подходит, но локает все, включая мышь. Есть ли альтернатива, чтобы только для клавиатуры?
Например, через хук… Хотя C-A-D будет работать… Power/Sleep тоже (хотя их тоже можно заблокировать - если в недрах управления электропитанием их отключить). Код (Text): invoke GetModuleHandleA, 0 mov [hInstance], eax invoke SetWindowsHookExA, WH_KEYBOARD_LL, key_hook, eax, 0 mov [hHook], eax test eax, eax jz hook_error … proc key_hook, .code, .wParam, .lParam mov eax, [kbd_state] ; если там лежит 0 - клава работает, если не 0 - не работает… test eax, eax jnz .m1 invoke CallNextHookEx, [hHook], [.code], [.wParam], [.lParam] .m1: ret endp … kbd_state dd 0 hHook dd 0 hInstance dd 0