这个方案我倒是有办法实现。
用键盘钩子来做。准确度,精确度非常之高,可以全后台操作。
8楼. 项目4:
做连发的脚本。HOOK的连发教程。
//把代码复制入TC编译器中,覆盖原来的代码即可。X键为连发键,启动F8,终止F9。
//在hookProc子程中,"返回 true" 是函数的返回语句.当执行点遇到"返回 true",表示这个函数已经执行
完成.
//无论"返回 true"到函数结束还有多少代码,一律不管,子函数将返回到主调函数,执行下面一行。
功能 hookProc(code,wPaddr,LP_IPaddr) //HOOK函数的回调函数.
变量 参数2键码状态 = wPaddr
变量 参数3键码 = 地址取值 (LP_IPaddr,"long") //address地址.value,数值.获取地址中的数值.
如果(参数3键码 == 88 && 参 数2键码状态 == 256)//88是检测X的ASCii码,256是按下码.
窗口提交按下(hwndex,88)// 连发码.
等待(3)
窗口提交弹起(hwndex,88)// 连发码.
//api函数"CallNextHookEx"是把 消息传递到下一个子程.如果没有下个子程,则把消息传送到目标窗
口.
//设置"返回 true",执行到这里 马上跳出函数,后面的代码不再执行.
//返回值为0,是把消息传到目 标窗口;返回值为非0,这样按键消息没有传到目标窗口.就是对目标窗口
拦截按键.
返回 真
否则如果(参数3键码 == 88 && 参数2键码状态 == 257)//88是检测X的ascii码,257是弹起码.
窗口发送字符串(hwndex,"X键 已经弹起.")
窗口提交按键(hwndex,13)
//对返回值的理解同上。
返回 真
结束
//函数"CallNextHookEx",是把按 键消息传递到下个子程.
//返回 函数"CallNextHookEx"的 数值,也是把消息传递到下一个子程.如果没有设置下一子程,则把消息
传送到目标窗口.
返回 动态库调用
("user32.dll","long","CallNextHoo kEx","long",h_hook,"long",code,"long",wPaddr,"long",L
(1/3) 下一段 余下全文
【教程1】键盘命令。[精][顶]
转载自:tc简单开发吧 < 贴吧 < 百度 |