Autohotkey循环不起作用

时间:2011-10-06 18:29:08

标签: autohotkey

我的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
}

2 个答案:

答案 0 :(得分:1)

WinWait看起来像是一个像anthv123这样的罪魁祸首。仔细检查您的窗口标题,确保它符合您期望的TitleMatchMode

常见的调试实践包括在问题代码的位置添加不同的ToolTip。例如,WinWait行上方和下方的工具提示带有“之前”和“之后”的文本,可以告诉您它是否在该部分无限期地暂停(如果它从未说过“之后”)。

睡3-20秒也不会有助于你的耐心。

答案 1 :(得分:1)

尝试使用此功能来诊断问题。如果“批量读数”花费的时间超过5秒,则会出现错误,让您知道并继续循环

WinWait, Batch Readings,,5
if (errorLevel = 1)
   Msgbox % "Batch Readings timed out"