Hook键盘记录GetKeyNameText函数

易语言 2020-10-06 16:56:17

Hook键盘记录GetKeyNameText函数

.如果真 (idHook = #无法载入的常量) ' 0
拷贝内存_ (keyMsg, lParam, 16)
.判断开始 (wParam = 位与 (#无法载入的常量, #无法载入的常量, #无法载入的常量, #无法载入的常量)) ' 260,261,256,257
lKey = 位与 (keyMsg.sKey, 255)
lKey = lKey × 65536
strKeyName = 取空白文本 (256)
.如果 (keyMsg.flag = 0 或 keyMsg.flag = 32 或 keyMsg.flag = 128 或 keyMsg.sKey = 54)
strLen = 取键名_ (lKey, strKeyName, 256) + 1
.否则
strLen = 取键名_ (位或 (lKey, 16777216), strKeyName, 256) + 1
.如果结束
_启动窗口.编辑框1.内容 = 到文本 (keyMsg.vKey)
_启动窗口.编辑框2.加入文本 (取文本左边 (strKeyName, strLen) + #换行符)
.默认

.判断结束

.如果真结束
返回 (呼叫下一钩子_ (hHook, idHook, wParam, lParam))