AutoHotKey - 使当前脚本'切换'

时间:2014-03-06 19:39:27

标签: autohotkey

所以我需要下面的当前脚本,才能切换。

目前,该脚本仅在按住F8键时才起作用...这会击败afk脚本。洛尔

无论如何,这是脚本

$F8::  
Loop
{
    if not GetKeyState("F8", "P")
        break  
    Click right
    Click
    Send {Numpad7 down}
    Send {Numpad7 up}
}
return

是否有人能够将其转换为toggle?非常感谢任何帮助!

1 个答案:

答案 0 :(得分:6)

您尝试使用切换变量(根据评论中的代码)是正确的方法,但缺少一些东西:

  1. 始终初始化切换变量。否则,您如何确定Toggle := !Toggle对整合Toggle的影响?它可以是truefalse;大多数编译器甚至不允许它。
  2. 我总是建议尽可能使用计时器,尤其是 经常性的任务,可能会经常重复。
  3. 以最大速度发射键序列很少是必要的。诚然,速度受SetBatchLinesSetKeyDelay的有效监管。但是最迟当这些延迟减少时,发送速度不仅会过度,而且会影响目标应用甚至系统性能。这就是为什么应该使用具有足够延迟的SleepSetTimer
  4. 这是一个未经测试的建议:

    toggle := false
    $F8::
        if(toggle) {
            toggle := false
            SetTimer, SendSomething, Off
        } else {
            toggle := true
            ; Choose a delay here!
            SetTimer, SendSomething, 100
        }
    return
    
    SendSomething:
        Click right
        Click
        Send {Numpad7}
    return