悬念;空格按下连发空格键松开关闭连发空格键,空格键按下时触发其他键停止问题
今天悬念大手帮我写的代码如图!很感谢,但是问题一直还在,空格按住连发空格键,松开关闭,但在空格按住时触发其他键就关闭问题!今天我研究了一下午 发现如果超级模块里的监视热键可以放开关闭响应事件的话,可以这样写
监视热键(&弹起关闭,#空格键)
子程序弹起关闭 整数型 时钟1.时钟周期=0 ,这是键盘钩子回调函数
如果真(键值=#空格键 且 键状态=“按下”)时钟1.时钟周期=10
在做的各位感觉可行么?我不知道监视热键怎么弹开 (运行子程序)想象是美好的~{:2_27:}
我还是个雏还需要 挂海 的老司机们带带~~
下面是代码:
.版本 2
.支持库 spec
.支持库 eAPI
.程序集 窗口程序集_启动窗口
.程序集变量 键盘钩子, 整数型
.子程序 __启动窗口_创建完毕
键盘钩子 = SetWindowsHookEx (13, &键盘钩子回调函数, GetModuleHandle (0), 0)
.子程序 键盘钩子回调函数, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型, , 状态,256按下,257弹起
.参数 参数三, 整数型, , 键值的指针
.局部变量 键值, 整数型
.局部变量 A, 文本型
键值 = 取字节集数据 (指针到字节集 (参数三, 1), #整数型, )
.如果 (参数二 = 256)
A = “按下”
.否则
A = “弹起”
.如果结束
.如果真 (键值 = #空格键 且 A = “按下”)
时钟1.时钟周期 = 10
.如果真结束
.如果真 (键值 = #空格键 且 A = “弹起”)
时钟1.时钟周期 = 0
.如果真结束
调试输出 (键值, “状态: ” + A)
返回 (CallNextHookEx (键盘钩子, 参数一, 参数二, 参数三))
.子程序 _时钟1_周期事件
模拟按键 (#空格键, , )
.版本 2
.DLL命令 GetModuleHandle, 整数型, , "GetModuleHandleA", , 获取句柄
.参数 lpModuleName, 整数型
.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx", , 下一个钩子
.参数 hhk, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 SetWindowsHookEx, 整数型, , "SetWindowsHookExA", , 创建钩子
.参数 idHook, 整数型
.参数 lpfn, 子程序指针
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 UnHookWindowsHookEx, 逻辑型, , "UnhookWindowsHookEx", , 卸载钩子
.参数 hhk, 整数型
多加一个变量b就可以了
亲测可用 ,编程多动脑 问题其实没那么难。 悬念 发表于 2017-10-19 00:44
多加一个变量b就可以了
贼 6666{:kiss:} 学习一下{:smile:}{:smile:} 问题其实没那么难。
页:
[1]
