在下面的脚本中,我循环使用“ return”和“ break”,但两者具有相同的效果。他们要做的是打破循环,继续执行脚本的其余部分。但是,返回后,脚本不应继续执行,这是break命令的作用所在,对吗?中断循环并继续执行脚本。返回后,脚本不应继续:?:
这里的脚本可以工作:
F1 & i::
start := A_TickCount
Loop {
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, G:\Saves\AutoHotkey - Snipping Tool - Screenshots\Chrome - New Tab.png
totalTime := stop - start
stop := A_TickCount
if ErrorLevel = 0
{
break
}
else if totalTime > 3000
{
MsgBox, Something went wrong!
return
}
}
msgbox, This message box should only appear when the immage was found!
return
在这里,我创建了上一个脚本的功能,并在“出现问题!”之后创建了“ return”。被解释为“中断”命令,这似乎是因为在msgbox对话框之后,“出了点问题!”我得到下一个msgbox。
F1 & i::
ImageSearchFunction("G:\Saves\AutoHotkey - Snipping Tool - Screenshots\Chrome - New Tab.png")
msgbox, This message box should only appear when the immage was found!
return
函数本身:
ImageSearchFunction(ImagePath){
start := A_TickCount
Loop {
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, %ImagePath%
totalTime := stop - start
stop := A_TickCount
if ErrorLevel = 0
{
break
}
else if totalTime > 3000
{
MsgBox, Something went wrong!
return
}
}
}
答案 0 :(得分:1)
我在AutoHotkey上找到了解决方案。我必须在循环中使用“退出”而不是“返回”。这样就可以了!