请教一名按键精灵大师!!协助做一个后台鼠标及按键点击的脚本!!

来源:百度知道 编辑:UC知道 时间:2024/05/19 06:55:13
如题,本人qq:345395944
For 5600
//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:122)按键
Plugin Bkgnd.KeyPress(Hwnd, 122)
Delay 300
EndFor
这动作本应该在28分钟结束……但是并未停止,就教如何做一个28分钟内每秒5下点击按键,28分钟到了一定停止的脚本

很荣幸能够为您解答:

第一个问题:后台问题.因为
Plugin Bkgnd.KeyPress(Hwnd, 122)
命令是向后台窗口句柄发送一个键码,但就偶目前所看到的您之前并没有把一个窗口句柄赋值给Hwnd变量.所以应该在前面加上一个
//下面这句是得到鼠标指向的窗口句柄
Plugin Hwnd = Window.MousePoint()
命令,这样Hwnd里才会有东西,方便下面的发送键码至这个窗口.

第二个问题.延时性,建议先将上面的问题解决了测试一下看时间是否准确,如果一定要精确的话,建议用下面的命令.(您原来的脚本之所以28分钟后还未停止原因就是按键发送至后台也需要一定的时间,虽然用时很少,大概几百毫秒,但每次都几百毫秒5600遍下来误差也是蛮大的说),以下脚本是以系统时间作为脚本执行时间.脚本在启动时得到现在的系统时间,然后每运行一遍检测当前时间与启动时间的比较,如果等于或超过1680秒即28分钟,脚本停止运行.误差率控制在0.2秒之内.

t1=time
rem 开始
If DateDiff("s",t1,time)=>1680
EndScript
EndIf
goto 开始

综合下来,您所需要的完整脚本如下,另延时200秒差不多就是每秒5下,误差率视电脑配置与目标程序而定,不超过100毫秒,可适当减小一点延时(不保证游戏后台脚本有效,因为有些游戏会屏蔽后台指令.记事本下通过):

Plugin Hwnd = Window.MousePoint()
t1=time
Rem 开始
If DateDiff("s",t1,time)=>1680
EndScript
EndIf
Plugin Bkgnd.KeyPress(Hwnd, 122)
Delay 200
Goto 开始