AutoHotKey 是一個免費的鍵盤宏程式,可以用于配置鍵盤快捷鍵、滑鼠事件
以及搖杆事件,還可以在輸入文本的時候對文本進行擴充(自動補全)
AutoHotKey 是一個免費的鍵盤宏程式,可以用于配置鍵盤快捷鍵、滑鼠事件
以及搖杆事件,還可以在輸入文本的時候對文本進行擴充(自動補全)
第一個腳本
建立檔案
test.ahk
并輸入以下内容:
^!n::
Run, notepad
Return
儲存檔案,輕按兩下執行,可以在右下角看到腳本執行的圖示,
然後按下
Ctrl
+
Alt
+
N
就可以打開記事本程式。
AutoHotKey 快捷鍵指令大概可以分為三個部分:
-
左邊的部分表示需要按下的快捷鍵,::
表示^
,Ctrl
表示!
Alt
-
右邊部分表示需要執行的指令::
- 最後
表示結束指令Return
另外除了快捷鍵(HotKey)配置, AutoHotKey 還可以配置 HotStrings,
相當于我們平時使用的 IDE 中的文本自動補全功能
在電腦右下角的腳本執行圖示上右鍵,單擊“編輯腳本”,
會彈出一個記事本程式來編輯目前運作的腳本,加入如下内容:
::hw::Hello World!
儲存檔案,關閉編輯器,在右下角腳本圖示上右鍵,單擊“重新加載腳本”,
然後來測試一下腳本功能,首先
Ctrl
+
Alt
+
N
打開記事本,
輸入
hw
,按下
Enter
或
Tab
就會進行自動補全,用
Hello World!
替換
hw
。
特殊符号
像
^
表示
Ctrl
這種快捷鍵中的特殊符号,意義如下:
符号 | 意義 |
---|---|
# | Win(鍵盤上有Windows圖示的鍵) |
! | Alt |
^ | Ctrl |
+ | Shift |
我們除了可以像上面的一樣定義全局快捷鍵之外,
另外還有一些用于Windows的特殊指令,可以用于定義特定視窗的快捷鍵,如:
-
#IfWinActive
表示視窗是否處于激活狀态,可以用于指定在特定視窗下可用的快捷鍵,
如下腳本表示在
視窗中按下Untitled - Notepad
Win+P
按鍵會彈出視窗
提示“你按下了Win+P”
#IfWinActive Untitled - Notepad #space:: MsgBox, 你按下了Win+P Return #IfWinActive
-
表示視窗是否存在#IfWinExist
發送按鍵 - 一鍵當千
一鍵當千
快捷鍵後的指令部分除了執行指令運作程式之外,還可以向電腦發送按鍵單擊事件,
就相當于 AutoHotKey 幫你去按下按鍵,進而擷取按下一個快捷鍵相當于一堆按鍵。
LCtrl::
Send, AutoHotKey
Return
上述指令表示按下左邊
Ctrl
按鍵時會發送按鍵,依次按下
AutoHotKey
,
對于鍵盤上的一些特殊按鍵,如
Ctrl
等都有對應的表示,如:
^
表示
Ctrl
,
!
表示
Alt
等等,除了這種類似快捷鍵特殊符号的表示,還可以使用
{...}
的方式來
表示,如:
{lAlt}
表示左邊的
Alt
鍵,
{F1}-{F24}
表示鍵盤上的
F1
到
F24
鍵等。
; 按下Win+H就等于按下Ctrl+Alt+HOME鍵
#h::
Send, ^!{HOME}
Return
其實,除了
^
、
!
、
+
、
#
可以表示組合鍵之外,
其他的
{...}
形式的符号都隻是按順序敲擊鍵盤罷了,
比如:
^{HOME}
表示按下
Ctrl
的同時按下
HOME
鍵,
而
{Ctrl}{HOME}
則表示按下
Ctrl
松開,然後按下
HOME
鍵。
若是想要實作組合鍵的功能,可以使用
{Ctrl Down}
和
{Ctrl Up}
這種組合,
表示按下和松開
{Ctrl}
鍵,在這兩個之間的符号都會在按住
Ctrl
的情況下執行。
也就是說:
^{HOME}
=
{Ctrl Down}{HOME}{Ctrl Up}
!=
{Ctrl}{HOME}
注:支援的Send鍵清單見官方文檔,
但是要注意的是除了官方文檔提供的按鍵可以使用
{...}
形式,
其他的按鍵都不可以使用,如
就是一種錯誤的表達方式
{a}
另外,Send後的部分可以分多行以便于閱讀,隻要用括号括起來就可以:
^j::
Send,
(
Line 1
Line 2
A dobe
)
Return
參考連結:
https://autohotkey.com/docs/Tutorial.htm