快捷键介绍

AutoHotKey,从名字就可以看出它的核心功能就是创建快捷键。虽然当前最新的版本v2也支持创建GUI窗口。

安装完AutoHotKey之后,打开vscode安装ahk lsp,之后创建名为test1.ahk的文件,绑定两个全局快捷键。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#Requires AutoHotkey v2.0
#SingleInstance Force

^Numpad0:: {
    ; toggle chrome
    openOrShow('ahk_exe chrome.exe', 
    'C:\Program Files\Google\Chrome\Application\chrome.exe', '')
}

^NumpadDot:: {
    ; restart explorer
    Runwait 'TASKKILL /F /IM explorer.exe'
    Run 'explorer.exe'
}

openOrShow(windowTitle, target, options?, func?) {
    if WinExist(windowTitle) {
        if WinActive(windowTitle) {
            WinMinimize(windowTitle)
        } else {
            WinActivate
            if (IsSet(options) && options == 'Max') {
                WinMaximize
            }
            IsSet(func) && func()
        }
    } else if (target) {
        Run target,,options
    }
}
  1. 运行该程序,右下角出现了一个绿色图标。 yxDhUMiAmn

  2. 使用ctrl+小键盘0打开或者最小化chrome,使用ctrl+小键盘.重启资源管理器。

  3. 根据上述代码,我们可以看到绑定快捷键使用{modifer}{key}::{ function }这种形式。本例中^代表的是ctrl,这些特殊键被称为modifer,需要用特殊符号表示,其他键位一般就是原本符号表示。

    Symbol Description
    # Windows键
    ! Alt键
    ^ Ctrl键
    + Shift键
    < 仅使用左侧modifer,比如!a代表ctrl+a,<!a代表左侧ctrl+a
    > 仅使用右侧modifer,比如>!a代表右侧ctrl+a

常用热键

Ditto默认使用ctrl+backtick作为快捷键,但这和vscode冲突,我们可以设置ctrl+backtick+win作为快捷键,当此时窗口不为vscode时,设置下面的快捷键,发送ctrl+backtick+win。

1
2
3
4
5
#HotIf !WinActive('ahk_exe Code.exe')
^`:: {
    Send('^#``')
}
#HotIf

我们可以使用ahk自带的WinSpy找到程序对应的ahk_exe名。

AutoHotkeyUX_ha2muuyGJc.avif

435

使用鼠标侧键一发送截屏键

1
2
3
4
; 使用鼠标侧键 发送截屏键  
XButton1:: {  
    Send '^{PrintScreen}'  
}

关闭win键,More details

1
~LWin::Send '{Blind}{vke8}'