繁体   English   中英

如何使用 AutoHotKey 中的热键关闭 SetTimer?

[英]How can I toggle SetTimer off with a hotkey in AutoHotKey?

我正在尝试编写一个切换函数的脚本。

这是一个 AutoHotkey 2 脚本。

j::
    SetTimer "NewTimer", 1000
    return

k::
    SetTimer "NewTimer", Off
    return

NewTimer() {
    SendInput "NewInput"
}

按 J 应该启动计时器,按 K 应该停止它。 目前,只要我按住键,按 K 只会停止它。 如何通过按键停止计时器?

k::
SetTimer "NewTimer" , "Off"
Return

Off必须用引号引起来,否则它将尝试传递变量“ Off”的内容。 保持K似乎暂停它的原因是因为它正在快速将周期更新为Off中包含的值为null和错误的值,因此它将恢复为先前的1000。

另外,如果这是唯一的计时器,则仅使用SetTimer , "Off"也可以使用SetTimer , "Off"

您可以考虑摘自SetTimer的官方文档

如果热键响应时间很重要(例如在游戏中),并且脚本包含任何子程序执行时间超过 5 毫秒的计时器,请使用以下命令来避免 15 毫秒的延迟。 如果在计时器线程处于其不间断期间的确切时刻按下热键,则会发生这种延迟:

 Thread, interrupt, 0 ;//Make all threads always-interruptible.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM