![具有更好睡眠意识的 AutoHotKey](https://linux22.com/image/1270242/%E5%85%B7%E6%9C%89%E6%9B%B4%E5%A5%BD%E7%9D%A1%E7%9C%A0%E6%84%8F%E8%AF%86%E7%9A%84%20AutoHotKey.png)
我知道 AutoHotKey 和 AutoScriptWriter,但我的问题在于时间。
我正在尝试将用户输入重现到应用程序中,但应用程序有时需要一些功能的加载时间,有时则不需要,基本上我需要让脚本编写者知道,如果我 5 秒钟内没有按下鼠标按钮,脚本编写者会在脚本中设置 Sleep 5 秒钟,但如果我等待 10 秒钟,它会在脚本中设置 Sleep 10 秒钟,依此类推。现在 AutoScriptWriter 默认设置 Sleep 100,这太短了,我不想事后手动查看脚本,试图记住这次点击是应该等待 5 秒还是 10 秒,还是只进行短暂的睡眠。
谢谢大家。
答案1
尝试 等待活动,窗口标题在这里
.... 此处的操作
然后,直到应用程序实际加载并激活后,它才会启动操作。
实际上,AutoScriptWriter 通常会添加 WinWaitActive 命令。
答案2
以下是一个解决方法:
- 为长时间等待分配一个没有副作用的“空”按键
- 录制宏时,在需要长暂停的位置添加按键
- 获得宏脚本后,在按键上执行查找/替换,并将其替换为长时间等待的指令,例如
Sleep 5000
我说的“空”是指没有副作用且不会对宏的工作区产生影响的按键。如果它改变了所选菜单项或选项卡位置,或者有任何其他副作用,则查找/替换该行可能会使脚本无法使用。如果您找不到单个按键(例如Alt-p
或其他),您还可以使用一个序列,该序列通过第二个按键执行操作来撤消该操作,例如键入a
后按退格键。
如果您有几种不同的暂停长度,则可以使用几种不同的按键来设置不同的等待长度。只需分别对每个按键进行查找/替换即可。