# 前言
## 什么是AHK?
AHK是Auto Hot Key的首字母縮寫,它是一種腳本語言,它讓用戶能夠快捷或自動執(zhí)行重復(fù)性任務(wù)。
詳細(xì)請點(diǎn) 百度百科的Autohotkey,或者 AutoHotKey的維基百科 。
## 如何學(xué)習(xí)AHK。
首先AHK作為一門偏小眾的語言,網(wǎng)上很少有視頻講解,所以我們要充分利用好它的手冊。
其次多加練習(xí)。這也是學(xué)習(xí)每門語言必走的路。
幸好還是找到了一個講的不錯的教學(xué)視頻。
- 鏈接:http://pan.baidu.com/s/1slJ28aD 密碼:xg8u [百度云盤]
- 教程:AHK博客
- 視頻:https://yunpan.cn/cR7eYzAieTXwk 訪問密碼 4f84 [360云盤] 注:該視頻來自上面教程博客中的資源。
# 使用
首先認(rèn)識兩個關(guān)鍵字。
## 熱鍵和熱字串。
### 熱鍵
內(nèi)容:當(dāng)按下特定的按鍵或者按鍵順序或者按鍵組合時激活某個或者某系列動作。
表示方式: (按鍵1)...(按鍵2)::(兩個冒號)
按鍵x是指所選擇的快捷鍵。比如
#q:: ; # 為 按鍵1, q 為 按鍵2。
號鍵指代的是win鍵,所以上面代碼的意思是當(dāng)你按下win鍵和q鍵時激活一個動作。
比如
#q:: ;按下win鍵和q鍵時激活運(yùn)行記事本這個動作。
run Notepad ;run為AHK中一個命令,相當(dāng)于C語言中的關(guān)鍵字或者說是函數(shù)。還有msgbox等等。
return ;return為返回值,在存在多個熱鍵時需使用,不然熱鍵中會起沖突。
注意:在AHK中是不區(qū)分大小寫的。所以run和RUN和Run或RUn或其他作用是一樣的。
誤例:請嘗試設(shè)置多個熱鍵,并且每一個熱鍵末端不加return,試試會有什么情況發(fā)生。
#### 幾個命令
run:運(yùn)行程序或者文檔或其他
> + 比如: run notepad //運(yùn)行記事本
Msgbox:顯示帶兩個按鈕的對話框 (是 和 否)對話框中可加內(nèi)容。
> + 比如: Msgbox,你好嗎? //顯示你好嗎?的對話框。
Send :在當(dāng)前窗口輸入文本內(nèi)容。
> + 比如: send how are you? //在當(dāng)前窗口輸入how are you?
### 熱字串
內(nèi)容:擴(kuò)展或者說自動替換文本,當(dāng)然也可以映射任何腳本動作。
表示方式
::(被替換內(nèi)容)::(替換內(nèi)容)
舉例:
自動替換:
::hay::how are you? ;當(dāng)你輸入hay時自動替換為how are you?
::nh::你好 ;當(dāng)你輸入nh時自動替換為你好
映射腳本:
::np::
run Notepad ;當(dāng)輸入np加空格時激活運(yùn)行記事本這個動作。
return
::nh::
send 你好。 ;在當(dāng)前窗口輸入你好。
return
誤例:請嘗試使用多個映射腳本和自動替換的組合,每個映射腳本末端不加return,試試會有什么情況發(fā)生。
### 自定義按鍵
內(nèi)容:用來連接任何兩個或多個按鍵組合成一個新的按鍵。
命令:&
內(nèi)容:(按鍵1)&(按鍵2)&...&(按鍵n)
q&n:: ;按下q和n
run notepad ;激活打開記事本這個動作。
return
## 全局變量和局部變量
命令:#IFwinactive
表示方式:#IFwinactive (在什么窗口)(熱鍵或熱字串)
舉例:
全局變量:
#q:: ;按下win鍵和q鍵
run Notepad ;** 任意窗口**激活打開記事本這個動作
return
局部變量:
#IFwinactive 新建文本文檔.txt - 記事本 ; 在**新建文本文檔.txt - 記事本**窗口下
#q:: ;按下win鍵和q鍵
run Notepad ;激活打開記事本這個動作
return
注意:同樣不區(qū)分大小寫。比如ifwinactive等等。
嘗試一下。
# 總結(jié)
關(guān)鍵字:
- 熱鍵 : (按鍵1)...(按鍵2)::(兩個冒號)
熱字串 : ::(被替換內(nèi)容)::(替換內(nèi)容)- 命令:send , run , msgbox ,ifwinactive,&
- 全局和局部變量
- 自定義按鍵 : &
注意事項:
- AHK中不區(qū)分大小寫:即run和RUN沒有區(qū)別。
- 考慮你是想要在全局還是局部中激活動作。
更多內(nèi)容和命令請參考視頻或者手冊。