首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两个AutoHotkey循环,以不同的时间间隔发送文本

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

Stack Overflow用户
提问于 2021-01-12 11:34:29
回答 1查看 323关注 0票数 0

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

第一个循环必须每14.5秒发送一个字,第二个循环必须每30.5秒发送三个字(每个字后面跟着Enter键)。

这就是我拥有的。

代码语言:javascript
运行
复制
#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

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-12 11:53:23

为什么不在启动计时器之前调用gosub呢?

代码语言:javascript
运行
复制
#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
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65677680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档