作為 Windows 上的一款自動(dòng)化工具,AutoHotkey 常常是被用來管理快捷鍵的。AutoHotkey 是一種 Windows 上的腳本語言。你可以通過 編寫腳本 來實(shí)現(xiàn)你想要的功能,同時(shí)提高操作 Windows 的效率。
相信不少朋友對(duì)于 AutoHotkey 還不是很了解,什么是 AutoHotkey?
AutoHotkey 是面向普通電腦用戶的自由開源的自動(dòng)化軟件工具,它讓用戶能夠快捷或自動(dòng)執(zhí)行重復(fù)性任務(wù)?!形木S基百科
可是由于 AutoHotkey 沒有 Automator 那樣可視化流程的操作,普通用戶根本不知道 AutoHotkey 是如何開始的,更加無法深入學(xué)習(xí)編程。其實(shí),只要稍微了解一下 AutoHotkey 的功能定位,你也就可以用它在 Windows 上實(shí)現(xiàn)高效操作。
你可以先在 AutoHotkey 官網(wǎng) 下載安裝后繼續(xù)閱讀。
AutoHotkey 的功能很豐富,能夠?qū)崿F(xiàn)輕松打開 Windows 上的程序、網(wǎng)頁、文檔、文件夾、窗口,更支持調(diào)用到 Windows 系統(tǒng)級(jí)別的 API 來實(shí)現(xiàn)某些功能。但是,對(duì)于普通用戶來說,設(shè)置熱鍵實(shí)現(xiàn)快速啟動(dòng),才是最簡(jiǎn)單方便地使用 AutoHotkey 的方法,我們就先從快捷鍵開始講起。
使用快捷鍵能讓你 在操作電腦時(shí)變得簡(jiǎn)便快捷,手指不需要再在鍵盤和鼠標(biāo)之間切換。例如,當(dāng)你在瀏覽器里想要新建一個(gè)窗口時(shí),不需要再點(diǎn)擊 + 號(hào),只需要按下 Ctrl+N 就能實(shí)現(xiàn);再比如切換程序窗口,只要按下 Alt+Tab。
除了使用系統(tǒng)和程序里預(yù)設(shè)好的快捷鍵外,我們也可以 自定義快捷鍵和組合快捷鍵。這時(shí)候,就要用 AutoHotkey 來編寫腳本幫助我們快速地實(shí)現(xiàn)。通過它編寫的快捷鍵設(shè)置腳本,能夠替換掉 Windows 的默認(rèn)快捷鍵,因此我們僅需要一個(gè) AHK 腳本就能很方便的管理電腦上的所有快捷鍵。
設(shè)置快捷鍵很容易,在編輯腳本里輸入幾行命令即可。你可以試試把下面這幾段代碼復(fù)制進(jìn)記事本,然后保存為 .AHK 格式。打開后按下快捷鍵,試試看效果。
Win+S,打開少數(shù)派首頁——
#s::Run https://sspai.com ;win+s 打開少數(shù)派網(wǎng)站
Win+G,運(yùn)行 CMD——
#g:: ;win+g 運(yùn)行CMD Run Cmd.exeReturn
Win+1,將剪切板上的內(nèi)容粘貼到 Notepad 并保存——
#1:: ;win+1 將剪切板上的內(nèi)容粘貼到 Notepad 并保存IfWinExist, Untitled - Notepad{WinActive}else{Run, NotepadWinWait, Untitled - NotepadWinActive}sleep, 500send, {enter}{enter}^vreturn
可以看到,在 AutoHotkey 中設(shè)置熱鍵要用到的語法很簡(jiǎn)單,跟 Javascript 一樣很好理解。
效果展示:
設(shè)置快捷鍵的步驟并不復(fù)雜,令人頭疼的點(diǎn)反而是快捷鍵太多、不方便記憶、使用頻率降低。我建議是,不要設(shè)置很多的快捷鍵,將常用的快捷鍵寫在 AHK 腳本內(nèi)就好。
原則上,快捷鍵用的鍵位的選擇也要方便記憶,比如上面我設(shè)置的「打開少數(shù)派的網(wǎng)站」這一快捷鍵組合是 Win+s,s又是少數(shù)派的首字母,所以就可以將快捷鍵要實(shí)現(xiàn)的功能和鍵位聯(lián)想記憶。
這時(shí)候,還可以用到一個(gè) Show your key-presses on screen 的 AHK 腳本,輕松幫助你回憶起快捷鍵內(nèi)容。
AutoHotkey 不僅支持把單鍵、組合鍵設(shè)置為熱鍵,還 支持把鼠標(biāo)、游戲桿按鈕等外設(shè)設(shè)為熱鍵。
如果你有外接機(jī)械鍵盤,就可以用它來 修改鍵位。例如,把多余的 Fn 鍵設(shè)置為特殊的快捷鍵來使用。如果需要避開常用的 Fn 鍵,鍵盤上還有多余的鍵位,那就可以設(shè)置為一些特殊的功能。如果在使用 PR 剪輯視頻時(shí),有 F13 可以用作渲染導(dǎo)出的組合快捷鍵,剪輯的效率能得到大大地提高。
少數(shù)派上有一篇 @Yigang 寫的有關(guān) Windows 下的文本替換的文章,他就是利用 AutoHotkey 的熱字符串來實(shí)現(xiàn)文本替換的功能。文本替換的確很方便,將縮寫替換為全寫,所以在聊天使用輸入法時(shí),能夠快捷地輸入一些常用的詞語、地址、郵箱、號(hào)碼。
格式類似于下面這種形式——
::sspai::少數(shù)派
::ahk::AutoHotkey
同樣的,利用熱字符串,也可以用在編輯文稿或者編寫代碼時(shí),用來查找并替換某些特殊的字符。我在 Github 上搜索 AHK 時(shí)發(fā)現(xiàn)了有很多相似的實(shí)現(xiàn)腳本,比如這個(gè)寫 PHP 用的常規(guī)文本替換腳本。
用 AutoHotkey 發(fā)送鍵擊幾乎可以自動(dòng)化全部的操作。是不是可以實(shí)現(xiàn)跟「按鍵精靈」相似的功能?可以,而且要比「按鍵精靈」強(qiáng)大許多。比如說,玩 MOBA 游戲都是需要很多次的鼠標(biāo)點(diǎn)擊,如果用 AutoHotkey 輔助,再也不用怕自己「手殘」不能打游戲了。
所謂的「按鍵精靈」本質(zhì)上就是不斷的循環(huán),程序在做這樣的事情要比人有效率。搶購的經(jīng)歷總是讓人難忘,你是不是還在為點(diǎn)破鼠標(biāo)還沒搶到而氣憤?
#1:: ;循環(huán)點(diǎn)擊示例loop, 10{clicksleep 200}return
這個(gè)動(dòng)作中每次按下 Win+1,就可以每隔 0.2 秒單擊一次鼠標(biāo),反復(fù)點(diǎn)擊十次。實(shí)現(xiàn)自動(dòng)鍵擊。不必要浪費(fèi)太多的力氣,就能「刷到」想要的東西。
AHK 還能做這些事
此外,Windows 系統(tǒng)管理相關(guān)的工作,AutoHotkey 也能夠處理。最簡(jiǎn)單的有「查看系統(tǒng)信息」「查看網(wǎng)絡(luò)連接狀態(tài)」「監(jiān)控后臺(tái)運(yùn)行的程序」「防止屏幕變暗」等等,在此就不一一列舉,如果感興趣可以自行查找。
有趣的是,我在查找 AutoHotkey Script 的過程里,發(fā)現(xiàn)不少小工具。它們沒有特別復(fù)雜的功能,往往只是解決一個(gè)需求。比如,這個(gè) QQ.ahk 就是禁止其他 QQ 號(hào)使用 QQ 軟件。還有生成隨機(jī)字符串、加時(shí)間戳、圖片轉(zhuǎn)換、翻譯這些,儼然是一個(gè)個(gè)「小」程序。
的確,AutoHotkey 體積小,運(yùn)行起來又特別輕量,比起其他的程序,我也更愿意用 AutoHotkey 造一些實(shí)用小工具。最近吃雞游戲大火,就有人用 AutoHotkey 專門寫了絕地求生按鍵腳本,以此提升自己的游戲體驗(yàn)(并不屬于外掛的范疇)。
如果你對(duì)它感興趣,可以在這些地方學(xué)習(xí)更多相關(guān)知識(shí)。
AutoHotkey 確實(shí)是 Windows 上強(qiáng)大的自動(dòng)化軟件工具,它能夠很好地實(shí)現(xiàn) 熱鍵、熱字符串、文本替換,也能模擬鼠標(biāo)、游戲桿的點(diǎn)擊和監(jiān)控調(diào)整系統(tǒng)狀態(tài) 等功能。
但是術(shù)業(yè)有專攻,除了以上這些,要想在 Windows 實(shí)現(xiàn)其他更加復(fù)雜的工作,AutoHotkey 就不如 Python 這種腳本語言。所以,作為普通用戶,你在使用 AutoHotkey 的過程里,對(duì)「自動(dòng)化」有了新的想法才是最有價(jià)值的。
每個(gè)人都應(yīng)該打造屬于自己的工作流?,F(xiàn)在我再使用 AutoHotkey 就不光光管理 Windows 下的快捷鍵,而是結(jié)合我要在電腦上寫稿、剪輯視頻、上網(wǎng)頁的工作流,把其中的某些步驟進(jìn)行自動(dòng)化,讓工作流變得更加流暢快捷。比如說,在使用 PR 剪輯時(shí)就運(yùn)行 pr.ahk,里面包含了一系列的快捷鍵和組合快捷鍵,還能實(shí)現(xiàn)批量處理。
要知道,說起自動(dòng)化軟件,人們總是會(huì)說 iOS 有 workflow,macOS 上有 Automator,那 Windows 上會(huì)有這樣的軟件嗎?
AutoHotkey 就是這樣一款能夠在 Windows 上實(shí)現(xiàn)自動(dòng)化的軟件。
聯(lián)系客服