我的autohotkey脚本中的循环只运行一次。谁能告诉我为什么?感谢
Loop, 8
{
WinActivate, NDTr
ControlClick, Button3 ;Select Batch, enter info, start collecting data
WinWait, Batch Readings
ControlClick, Edit1
Send {BS}+{BS}+{BS}+{BS}+{BS}+{BS}
Send 1
ControlClick, Edit2
Send {BS}+{BS}+{BS}+{BS}+{BS}+{BS}
Send 15
if A_Index = 4
{
Sleep, 20000
}
else if A_Index = 7
{
Sleep, 20000
}
else if A_Index = 1
{
Sleep, 3000
}
else
{
Sleep, 15000
}
ControlClick, Button1
Sleep, 15000
}
答案 0 :(得分:1)
WinWait看起来像是一个像anthv123这样的罪魁祸首。仔细检查您的窗口标题,确保它符合您期望的TitleMatchMode。
常见的调试实践包括在问题代码的位置添加不同的ToolTip。例如,WinWait行上方和下方的工具提示带有“之前”和“之后”的文本,可以告诉您它是否在该部分无限期地暂停(如果它从未说过“之后”)。
睡3-20秒也不会有助于你的耐心。
答案 1 :(得分:1)
尝试使用此功能来诊断问题。如果“批量读数”花费的时间超过5秒,则会出现错误,让您知道并继续循环
WinWait, Batch Readings,,5
if (errorLevel = 1)
Msgbox % "Batch Readings timed out"