两个 AutoHotkey 循环以不同的时间间隔发送文本

Two AutoHotkey loops to send text at different time intervals

2021 年新年快乐,我是 AHK 的新手,我正在尝试获取脚本,将文本发送到 window,我想要 2 个不同的时间间隔。

第一个循环必须每 14.5 秒发送一个字 第二个循环必须每 30.5 秒发送三个单词(每个单词后跟回车键)。

这就是我的。

#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 个单词发送到活动 window,然后每个循环等待各自的时间延迟并重复,直到我再次按 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