【问题标题】:How to repeat triggering a script in AutoHotkey by holding down a key?如何通过按住一个键重复触发 AutoHotkey 中的脚本?
【发布时间】:2021-03-21 10:03:53
【问题描述】:

我正在尝试在 autohotkey 中编写一个脚本,以便当我每隔一秒按住 i 时,它会在每一秒内触发一个特定的脚本。例如,当我按住此键 7 秒时,某事会完成 7 次,或者当我按住此键 8.3 秒时,它会对同一件事进行 8 次。当我按下那个键(不到一秒钟)时,它就会输入那个字母。

 $i:: 
 KeyWait,i,T0.25 
 If (ErrorLevel) 
 {
    Click, 768,192,10
    KeyWait,i 
 }
    Else
    {
        Send, i
    }    
return

通过运行此脚本,当我按住键超过一秒时它只会执行一次该过程,如果要再次执行此操作,我应该再次按住按钮。我不确定如何实现我的目标。我添加了Loop{},但结果是重复输入“i”。

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    你已经很接近了:

    $i::
    KeyWait, i, T1
    If (ErrorLevel) {
        Loop 10
            Click, 768,192
    } else {
        Send, i
    }
    return
    

    【讨论】:

    • 感谢您的回答。但我的目标是按住键“ i ”每秒钟点击 10 次,您的代码中没有 Click, 768,192,10。事实上,它只是显示我按住键的秒数,但没有执行任何操作。
    • 是的,我不确定你到底想要什么,所以我举了一个例子来证明它每秒只执行一次操作。我会更新的。
    • 我错过了每秒10次,我以为是每秒点击一次。
    • 没问题,你真的很亲密。
    • 你能看看我的这个问题吗? stackoverflow.com/questions/66732238/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多