Autohotkey:等待一分钟或在找到图像后单击

时间:2015-04-18 23:21:14

标签: autohotkey

好吧,所以我有点像Autohotkey noob。我想知道如何编写一个脚本,它将等待一分钟或在找到图像后单击。我目前知道我可以使用Sleep功能和ImageSearch功能,但我不知道如何将两者结合起来编写脚本,以便它会不断检查图像,直到找到它为止。程序将中断并继续关闭,或者图像检查已运行一分钟,之后它也会中断并继续执行程序。

因此,例如,如果时间不到1分钟,程序仍将检查图像。如果它仍然在一分钟之内并且已经找到图像,则程序将中断并继续。如果时间已超过一分钟且图像仍未找到,则程序也会中断并继续。

我对这个"或者"有点难过。事情,我很感激任何帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

我是使用loop做的,每次都要手动检查时间。 看看以下解决方案:

TIMEOUT := 6000 ; milliseconds
SLEEP_AFTER_EACH_IMAGESEARCH := 300 ; can be 0

imageFound := false
time_loopStart := A_tickCount
loop {
    imageSearch, ...
    if errorLevel = 0
    {
        imageFound := true
        break
    }
    if(A_tickCount - time_loopStart > TIMEOUT)
        break   ; time is up, no image found in time
    sleep, %SLEEP_AFTER_EACH_IMAGESEARCH%
}
msgbox, imageFound: %imageFound%
return

您也可以使用Timer解决此问题。但是我不推荐它。 Afaik,它不会让您无法手动测量时间。