📄 hook.asm
字号:
;作者 罗云彬
;笑梅 改编
.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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -