06.10.2012, 23:05
|
|
Активный
|
|
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
|
|
я знаю что не так,.. но как?
Код:
start:
PRIVAT Shift_key : DWORD
mov Shift_key, FALSE
mov hInstance, rv(GetModuleHandle, NULL)
call WinMain
exit
;------------------------------------------------------------------------------
LowLevelKeyboardProc proc uses ebx nCode, wParam, lParam : DWORD
LOCAL fEatKeystroke : DWORD
mov fEatKeystroke, FALSE
.if nCode == 0
Switch wParam
case 256
mov ebx, lParam
.if [ebx.KBDLLHOOKSTRUCT].vkCode == 20
mov fEatKeystroke, TRUE
.endif
.if [ebx.KBDLLHOOKSTRUCT].vkCode == 160
mov Shift_key, TRUE
.endif
case 257
mov ebx, lParam
.if [ebx.KBDLLHOOKSTRUCT].vkCode == 160
mov Shift_key, FALSE
.endif
endsw
.endif
.if fEatKeystroke && not Shift_key
invoke PostMessage, rv(GetForegroundWindow), 80, 0, HKL_NEXT
mov ebx, 1
.else
mov ebx, rv(CallNextHookEx, 0, nCode, wParam, lParam)
.endif
__________________
Програмистами не рождаются, ими становятся!
|