使用AutoHotKey,我有一个相当简单的循环脚本,我希望能够通过键的笔划来打破。我尝试了一些来自网站的不同代码,但它似乎没有用。
以下是代码:
#g::
Loop 20
{
MouseClick, left, 142, 542
Sleep, 1000
MouseClick, left, 138, 567
Sleep, 1500
MouseClick, left, 97, 538
Sleep, 1000
}
答案 0 :(得分:2)
使用全局变量(keepCycling)并切换它以打破循环。全局变量应该在脚本的开头声明。
答案 1 :(得分:1)
添加全局变量可能是最简单的解决方案,因为你的循环需要一段时间才能完成。
global break_g = 0
#b::
break_g = 1
return
#g::
break_g = 0
Loop 20
{
MouseClick, left, 142, 542
Sleep, 1000
MouseClick, left, 138, 567
Sleep, 1500
MouseClick, left, 97, 538
Sleep, 1000
if( break_g = 1)
{
return
}
}
return ; also you were missing this return
答案 2 :(得分:0)
#g::
Loop 20
{
KeyWait,Ctrl,D T0
if Errorlevel = 0
break
MouseClick, left, 142, 542
KeyWait,Ctrl,D T0
if Errorlevel = 0
break
Sleep, 1000
KeyWait,Ctrl,D T0
if Errorlevel = 0
break
MouseClick, left, 138, 567
KeyWait,Ctrl,D T0
if Errorlevel = 0
break
Sleep, 1500
KeyWait,Ctrl,D T0
if Errorlevel = 0
break
MouseClick, left, 97, 538
KeyWait,Ctrl,D T0
if Errorlevel = 0
break
Sleep, 1000
}
return
使用上述内容可能会有所帮助,因为效果是即时的。通常情况下,当您按住Ctrl一段时间时,您的循环将停止。
答案 3 :(得分:0)
切换全局变量是可行的方法。您需要在脚本的开头声明它。
global keep_working = 1;在脚本开头设置break为off
b ::;设置休息时间 keep_working = 0 返回
g ::;设置工作并启动循环
keep_working = 1
循环,;循环直到按下b(循环,原始代码为20)
{
MouseClick,left,142,542
睡觉,1000
MouseClick,left,138,567
睡觉,1500
MouseClick,left,97,538
睡觉,1000
if(keep_working = 0)
{
回归;需要停止执行
}
}
回归;在热键程序结束时需要这个分隔符。