hook.asm
来自「驾驶员考试系统,汇编编写,qq332779423」· 汇编 代码 · 共 35 行
ASM
35 行
;作者 罗云彬
;笑梅 改编
.data
WM_HOOK equ WM_USER + 100h
.data?
szAscii db 32 dup (?)
hHook dd ?
.code
HookProc proc _dwCode,_wParam,_lParam
local @szKeyState[256]:byte
invoke CallNextHookEx,hHook,_dwCode,_wParam,_lParam
pushad
.if _dwCode == HC_ACTION
mov ebx,_lParam
assume ebx:ptr EVENTMSG
.if [ebx].message == WM_KEYDOWN
invoke GetKeyboardState,addr @szKeyState
invoke GetKeyState,VK_SHIFT
mov @szKeyState + VK_SHIFT,al
mov ecx,[ebx].paramH
shr ecx,16
invoke ToAscii,[ebx].paramL,ecx,addr @szKeyState,addr szAscii,0
mov byte ptr szAscii [eax],0
.if szAscii == 0dh
mov word ptr szAscii+1,0ah
.endif
; invoke SendDlgItemMessage,hTab1,IDC_TAB1EDT1,EM_REPLACESEL,0,addr szAscii
invoke SendMessage,hTab1,WM_HOOK,dword ptr szAscii,NULL
.endif
assume ebx:nothing
.endif
popad
xor eax,eax
ret
HookProc endp
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?