0

我正在尝试通过 Autohotkey 自动化一些 qc(质量中心)任务。

在代码下方找到,它识别并激活了 QC > Test Run 窗口,但之后发送键功能不起作用。但是代码完全执行,没有任何错误,并且最终的 msgbox 正确显示。请帮我 !!

#V::
ifwinexist, Manual Runner
winactivate
Send ^R
msgbox, pass
4

1 回答 1

1

在您的脚本中,除非您将命令分组,否则msgbox与 无关。winactivate

你的脚本是这样触发的:

  1. 你按下热键。
  2. 它检查窗口
  3. 如果窗口存在,它会激活它。
  4. 现在 - 无论#3 是否签出,都会发送 r!
  5. 无论发生什么,都会显示消息框。

考虑一下,当您按下热键时,除非窗口存在,否则什么都不会发生。如果该窗口存在,您的所有命令都将得到处理。

#V::
ifwinexist, Manual Runner
{
    winactivate
    Send ^R
    msgbox, pass
}
return

如果您在发送密钥时遇到问题,您可以寻找sendkeys一些替代方法: Send / SendRaw / SendInput / SendPlay / SendEvent

另外,看看setkeydelay

另一个想法是sleep 500winactivate.

于 2013-07-12T20:40:51.597 回答