天天看點

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

作者:白夜java
上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

自動腳本AHK是一個很好用的軟體,但是很多在安裝後卻不知道怎麼下手,本篇就來教大家如何開始使用。

簡單編寫一個腳本并啟動AHK

當我們安裝好AHK後是啥感覺都沒有的,桌面也沒有軟體,感覺好像沒安裝一樣。

是以趕快先寫個helloworld壓壓驚。

1.在任意目錄右鍵建立,點AutoHotkey Script建立一個腳本

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

2.建立好的腳本是.ahk字尾

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

右鍵Edit Script編輯腳本,其實和編輯txt沒多大差別,這裡我有安裝sublime,是以用sublime打開了

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

3.簡單編寫一個觸發文本的腳本,關于文法後面會詳解,這裡先簡單概況下

這是圖中指令的分析:

^j::【代表按下Ctrl+j的鍵位】

send, Hello zaWorld【代表将會“鍵入”這串字元.:Hello zaWorld】

return【代表程式終止】

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

4.儲存關閉後,我們輕按兩下執行腳本,可以發現右下角多了個圖示,這是正在執行中的腳本,右鍵有一些對這個腳本的常用操作。

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

5.在任意可以輸入文本的地方測試一下剛剛的腳本,按下Ctrl+J

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

就好像單身200年的手速一樣打出來了(指字元串)

剛剛我們自定義了一個熱鍵,Ctrl+J,它的功能定義為“鍵入”一段字元。我将鍵入兩個字加上了引号,正如我們執行熱鍵時看到的,它并非一次性将消息瞬間輸出來,而像是以極快的速度敲鍵盤打出來。

而這個功能,就是通過Send,它會鍵入在逗号後的任何内容。

^j::
send, Hello zaWorld
return
           

AHK中有許多這樣的指令,我們可以通過查閱文檔按需使用。

接下來是ahk中的基本文法:

建立熱鍵

自定義的熱鍵首先是由兩個冒号**(::)**建立的,它的左邊就是我們設定的按鍵或組合鍵。

然後下面是代碼,也就是這個熱鍵需要執行的腳本。雖然測試中我隻執行了一個指令,但實際上它并沒有限制隻能執行一個指令。

最後return則是标記這段代碼已經結束了。

這裡貼一下幾個特殊鍵位的辨別符

#:Win(Windowx的徽标鍵)

!:Alt

^:Ctrl

+:Shift

&:用于連接配接兩個按鍵(含滑鼠按鍵) 合并成一個自定義熱鍵

space:空格鍵

enter:Enter鍵

Escape(或 Esc) :Esc(退出鍵)

關于&需要再詳解一下:通常#!^+這幾個按鍵預設是字首鍵,它們會自動和後面的按鍵形成組合鍵。但其他鍵位都是單獨的按鍵,也就是我們不能配置 2j::這樣的鍵,會報錯。這時候就可以用2 & j::這樣的方式強行使這兩個鍵變為組合鍵。但弊端就是前面的鍵會變成字首鍵,失去它原本的效果,也就是你單獨按2也不會輸出數字2了。

建立熱字串

熱字串是AHK的另一個功能,它主要是用于擴充縮寫,也就是我們可以事先編輯好一串長字元,設定一個短字元為它的縮寫,每當我們打出縮寫時,就會将其自動轉換。

它的文法是配置的縮寫兩邊都要有一對雙冒号**(::)**,然後第二對冒号的右邊就是要替換的字元串

繼續舉例:

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

這段的作用就是,當我打出star這串字元,然後加上一個回車或空格或Tab鍵,它就會自動替換成後面的一串歐拉。

*實際上,熱字串也可以執行腳本,文法和熱鍵是一樣的,例如下圖。實際上操作并沒有差別,隻是觸發方式變了,這裡我感覺一般沒必要用熱字串執行腳本,除非是用到後面熱鍵設定的太多了記不住。

上手AutoHotKey(簡稱ahk)并編寫一個簡單的腳本程式

至此,最基本的AHK基礎學習就完成了,想學習後續更複雜的内容,可以關注我後續的文章,都已經釋出在我的個人首頁。