Код (Text): KeyboardProc proc nCode:DWORD,wParam:DWORD,lParam:DWORD .if nCode == HC_ACTION mov eax, 40000000h and eax, lParam .if eax ... .if processKey == 0 ; обслуживаем при 0 .if wParam >= 65 && wParam <= 90 invoke keybd_event, 16, 0, KEYEVENTF_KEYUP, 0 ; отжимаем shift invoke keybd_event, 8, 0, 0, 0 ; нажимаем backspace invoke keybd_event, 8, 0, KEYEVENTF_KEYUP, 0 ; отжимаем backspace invoke keybd_event, wParam, 0, 0, 0 invoke keybd_event, wParam, 0, KEYEVENTF_KEYUP, 0 mov al, 2 ; 2 следующих нажатия не обрабатываем mov processKey, al .endif .else mov al, processKey ; dec al ; уменьшаем количество необрабатываемых нажатий на одно mov processKey, al ; .endif ... Должно переводить в нижний регистр буквы... Не переводит - шифт как-то не отжимается ( В верхний все нормально подобным методом переводится Что делать?
Проблема решена, при Код (Text): invoke keybd_event, 8, 0, 0, 0 ; нажимаем backspace он нажимался. Просто перенес "отжимаем shift" после "отжимаем backspace" - все заработало