如何解决两个 AutoHotkey 循环以不同的时间间隔发送文本
2021 年新年快乐,我是 AHK 的新手,我正在尝试获取脚本,将文本发送到窗口,我想要 2 个不同的时间间隔。
第一个循环必须每 14.5 秒发送一个单词 第二个循环必须每 30.5 秒发送三个单词(每个单词后跟 Enter 键)。
这就是我所拥有的。
#SingleInstance Force
F7::
Toggle := !Toggle
SetTimer,Loop1,% (Toggle) ? 14500 : "Off"
SetTimer,Loop2,% (Toggle) ? 300500 : "Off"
return
F5::Reload
Loop1:
sendinput .word1{Enter}
return
Loop2:
sendinput .word2{Enter}
sendinput .word3{Enter}
sendinput .word4{Enter}
return
我想要的脚本是,如果我按下 F7,它就会启动,并且两个循环同时执行,将 4 个单词发送到活动窗口,然后每个循环等待各自的时间延迟并重复,直到我再次按 F7 F5 重新加载或完全停止。
问题是,它没有按预期执行,它实际上首先等待“计时器”然后执行,我怎么能做到这一点,一旦我按下 F7,它就会发送 4 个单词,然后输入,然后开始定时器?
我什至尝试过使用 SetTimer ......? 0 ......
但它只运行一次,然后再也不运行了。
任何帮助将不胜感激。
干杯
JL
解决方法
为什么不在启动计时器之前调用 gosub?
#SingleInstance Force
F7::
Toggle := !Toggle
if(Toggle){
gosub Loop1
gosub Loop2
}
SetTimer,Loop1,% (Toggle) ? 14500 : "Off"
SetTimer,Loop2,% (Toggle) ? 300500 : "Off"
return
F5::Reload
Loop1:
SendInput .word1{Enter}
return
Loop2:
SendInput .word2{Enter}
SendInput .word3{Enter}
SendInput .word4{Enter}
return
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。