一键启用,一键关闭
实现1
;创建2个线程
#maxThreadsPerHotkey, 2
setKeyDelay, 50, 50
setMouseDelay, 50
banana:=0
Down::
; banana:=!banana .... This assigns banana to the value of NOT (!) banana. so lets
; say banana starts out FALSE (0). you then turn banana to NOT FALSE. which is
; TRUE (1). so now banana is set to TRUE. and then lets say you toggle it again.
; you set banana to NOT TRUE, which is FALSE. banana is now set to FALSE.
; .... 1 is true, 0 is false. ! is NOT.
banana:=!banana
while (banana=1)
{
    ;执行
}
return
实现2
v_Enable=0
Up::
{
    v_Enable:=!v_Enable
    If(v_Enable=0)
    {
        ;关闭
    }
    else
    {
        ;执行
    }
}
return
实现3
#MaxThreadsPerHotkey 2
IniWrite, 0, config.ini, section_1, _loop
[Key]::
    IniRead, _loop, config.ini, section_1, _loop
    _loop := !_loop
    IniWrite, %_loop%, config.ini, section_1, _loop
    Loop, 
    {
        IniRead, _loop, config.ini, section_1, _loop
        if _loop = 0
            break
        [执行内容]
    }
Return
单键双击触发
; 双击Ctrl,切换窗口
~LCtrl::
KeyWait Ctrl
if (A_PriorHotkey=A_ThisHotkey && A_TimeSincePriorHotkey < 400 && A_TimeSincePriorHotkey > 100)
[执行内容]
return
通过单键的三种触发方式实现一键剪切复制粘贴
; F8触发
F8::
    KeyWait,F8,T0.4
    if not(ErrorLevel){
        ; 双击剪切
        if (A_PriorHotkey=A_ThisHotkey && A_TimeSincePriorHotkey < 400 && A_TimeSincePriorHotkey > 100)
            Send, ^{x}
        ; 单击复制
        Else
            Send, ^{c}
    }else{
        ; 长按粘贴
        Send, ^{v}
        KeyWait,F8
    }
return
长按触发
; 长按空格触发连点
#NoEnv
#SingleInstance, Force
SendMode, Input
SetBatchLines, -1
SetWorkingDir, %A_ScriptDir%
$Space::
    while GetKeyState("Space", "P")
    {
        Send {Space}
        sleep 1000
    }
return