|
|
5精币
.版本 2
.支持库 spec
.子程序 _脚本编辑框_获得焦点
_脚本编辑框_失去焦点 ()
.如果 (系统_取系统版本_汇编 () < 61)
集_钩子句柄 = SetWindowsHookExA (#WH_KEYBOARD_LL, &子程序_钩子回调, GetModuleHandleA1 (0), 0)
.否则
集_钩子句柄 = SetWindowsHookExA (#WH_KEYBOARD_LL, &子程序_钩子回调, 0, 0)
.如果结束
.子程序 _脚本编辑框_失去焦点
.如果真 (集_钩子句柄 ≠ 0)
UnhookWindowsHookEx (集_钩子句柄)
集_钩子句柄 = 0
.如果真结束
.子程序 子程序_钩子回调, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型, , 键状态
.参数 lParam, 整数型
.局部变量 Message, 字节集
.局部变量 VkCode, 整数型
.局部变量 局行开始位置, 整数型
.局部变量 局文本, 文本型
.局部变量 局位置, 整数型
.局部变量 局光标行, 整数型
.局部变量 局空格文本, 文本型
.如果真 (集主代码框.取焦点 () = 假)
返回 (CallNextHookEx (集_钩子句柄, nCode, wParam, lParam))
.如果真结束
Message = 指针到字节集 (lParam, 24)
VkCode = 取字节集数据 (Message, #整数型, 1)
.如果真 (nCode = #HC_ACTION) ' 判断是否是有效按键
调试输出 (时间_到时间戳 ())
通过输出的时间戳发现钩子回调两次,即使我加了判断 (VkCode = 9 且 wParam = 257) ' tab 松开,也还是回调两次,求助
|
最佳答案
查看完整内容
按下+放开不就是两次吗?你将输出放在键放开下输出不就可以了吗
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|