AutoHotkey是簡易而功能強(qiáng)大的熱鍵腳本語言。使用者可將鍵盤、鼠標(biāo)甚至游戲搖桿的移動和點擊動作記錄下來。比較特別的一點是:AutoHotkey具備一個腳本編譯器,當(dāng)你用Record記錄完成后,可以轉(zhuǎn)換(Convert)功能將腳本轉(zhuǎn)換成EXE可執(zhí)行文件,這是非常有用的功能。
AutoHotkey功能介紹
通過發(fā)送鍵盤或鼠標(biāo)的鍵擊動作命令來實現(xiàn)幾乎所有操作的自動化。您可以自己編寫 宏(AutoHotkey Script) 或者使用宏錄制器(AutoScriptWriter)來生成;
為鍵盤,游戲操縱桿和鼠標(biāo)創(chuàng)建 熱鍵。 事實上任何的按鍵、按鈕或組合鍵都可以被設(shè)置為熱鍵;
可以對Windows各類型窗口進(jìn)行匹配以及相關(guān)屬性調(diào)整(例如:透明、隱藏、置頂、改變大小等);
當(dāng)鍵入您自定義的縮寫時可以 擴(kuò)展縮寫。例如, 鍵入“btw”就可以自動擴(kuò)展為“by the way”;
創(chuàng)建自定義的數(shù)據(jù)輸入表格、用戶界面、菜單等標(biāo)準(zhǔn)控件以及ActiveX 組件(例如IE瀏覽器控件)等。詳情請看 圖形界面 部分;
映射 鍵盤、游戲操縱桿和鼠標(biāo)上的按鍵或按鈕;
運行現(xiàn)有的AutoIt v2腳本并用 新功能 來增強(qiáng)它們;
將腳本文件編譯 成EXE可執(zhí)行文件,使得程序在沒有安裝AutoHotkey的機(jī)器上得以運行;
借助 相關(guān)工具 以實現(xiàn)更強(qiáng)大的功能;
更多關(guān)于熱鍵的說明
AutoHotkey 可令鍵盤、游戲操縱桿和鼠標(biāo)的所有潛能都發(fā)揮出來。例如,除了典型的Control、Alt和Shift鍵之外,你還可以定義Win鍵(徽標(biāo)鍵)和Capslock鍵作為調(diào)節(jié)鍵。 而實際上你還可以設(shè)置任意的鍵盤按鍵或鼠標(biāo)按鍵作為調(diào)節(jié)鍵。詳細(xì)內(nèi)容請看 高級熱鍵 部分。
其他功能
基本用法:
關(guān)閉或屏蔽Windows自有的快捷鍵,例如Win+E和Win+R;
取替Alt-Tab(通過按鍵、鼠標(biāo)滾輪或按鈕)從而減輕RSI(肢體重復(fù)性勞損);
本機(jī)代碼互操作:
可以調(diào)用COM和DLL對象進(jìn)行功能擴(kuò)展;
可以創(chuàng)建機(jī)器碼地址,當(dāng)它被調(diào)用時會重定向到腳本中的函數(shù);
可以復(fù)制字符串到內(nèi)存地址或來自內(nèi)存地址,并可以對其在指定代碼頁間進(jìn)行轉(zhuǎn)換;
文件、目錄和磁盤管理:
讀取、寫入、復(fù)制、刪除、獲取設(shè)置屬性以及解釋文本文件比起其他語言更容易;
提供面向?qū)ο蟮奈募蘒/O操作;
支持驅(qū)動器彈出以及獲取驅(qū)動器列表、容量、剩余空間、文件系統(tǒng)、卷標(biāo)類型、狀態(tài)等;
可對IN文件(配置信息文件)進(jìn)行讀寫操作。
流程控制:
多種條件判斷(字符項目、窗口、文件、進(jìn)程、錯誤返回值等),條件下采用{}區(qū)塊以及制表符進(jìn)行分層級;
可以配合變量進(jìn)行多級循環(huán)復(fù)雜操作;
可以與一般編程一樣創(chuàng)建自定義函數(shù)并調(diào)用;
圖形界面:
使用您喜歡的圖標(biāo)、工具提示(ToolTip)、菜單項目和子菜單來自定義托盤圖標(biāo)菜單;
顯示對話框、工具提示(Tooltips)、氣球提示以及彈出菜單,與用戶交互;
可以置頂自定義圖片來做程序啟動界面;
鼠標(biāo)和鍵盤:
可以禁用或啟用用戶通過鍵盤和鼠標(biāo)對電腦進(jìn)行操作而腳本不受影響。
用游戲操縱桿或鍵盤代替鼠標(biāo);
可以對窗口中的指定控件進(jìn)行點擊、改變文字等操作而不會出現(xiàn)鼠標(biāo)點擊事件;
數(shù)學(xué)相關(guān):
可以進(jìn)行一些科學(xué)運算(如三角函數(shù)、平方根、冪運算、e^N等);
屏幕管理:
通過檢測圖像和象素色彩來自動執(zhí)行游戲中的動作;
進(jìn)程管理:
執(zhí)行腳本動作來響應(yīng)系統(tǒng)關(guān)閉或注銷;
使用RunAs方式指定運行用戶身份;
可以對進(jìn)程進(jìn)行是否存在、列表、優(yōu)先級、等待運行、等待結(jié)束操作;
注冊表:
可以循環(huán)讀取注冊表并操作;
可對注冊表進(jìn)行讀寫、刪除操作。
聲音命令:
調(diào)節(jié)音量、設(shè)置靜音,以及其他關(guān)于聲卡的設(shè)置;
可以播放wav音頻;
字符串管理:
可以定義字符串變量對字符串變量進(jìn)行截取、替換、正則表達(dá)式匹配、大小寫改變等處理;
可以生成隨機(jī)數(shù),用戶可以根據(jù)隨機(jī)數(shù)生成自定義隨機(jī)字符;
獲取并改變剪貼板的內(nèi)容,包括從資源管理器中復(fù)制的文件的名稱;
針對一組與通配符匹配的文件進(jìn)行操作;
窗口管理:
可以檢測窗口是否處于各種狀態(tài)(激活、最大化、存在、隱藏等);
可以獲取窗口的標(biāo)題、ahk_class、文字等相關(guān)信息方便鼠標(biāo)等操作;
可以對窗口進(jìn)行最大化、激活、隱藏、關(guān)閉、強(qiáng)制關(guān)閉、等待等相關(guān)操作;
其他:
可以獲取系統(tǒng)環(huán)境(如幕分辨率、多顯示器信息、系統(tǒng)對象的尺寸和其他系統(tǒng)屬性)相關(guān)信息并執(zhí)行預(yù)定操作;
監(jiān)控您的系統(tǒng)。例如,當(dāng)您不希望見到的窗口出現(xiàn)時自動關(guān)閉它們;
可以設(shè)置定時器并啟用、停用該項目;
檢測系統(tǒng)空閑時間。例如,在系統(tǒng)空閑的時候執(zhí)行高CPU負(fù)荷的任務(wù);
你只要有想像力,它可以完成更多工作。
AutoHotkey更新日志
1.1.26.01 - 2017年7月16日
當(dāng)A_LoopRegSubKey為空時,固定RegDelete(沒有args)失敗,例如在根鍵下直接枚舉密鑰時。
修復(fù)RAlt/LAlt::有時無法防止菜單激活后,用戶alt-tabs離開窗口并重新激活它。
固定多媒體鍵,PrintScreen,CtrlBreak,Pause,LWin和RWin的SC→VK翻譯,但Windows 2000和XP上的多媒體鍵,PrintScreen和CtrlBreak仍然翻譯不正確。
固定VK→SC轉(zhuǎn)換多媒體鍵,CtrlBreak和Pause。
修復(fù)'等待命令,如RunWait,只有在需要顯示它仍在等待時,為ListLines記錄額外的行; 也就是說,在從記錄其他行的中斷恢復(fù)之后。
1.1.26.00 - 2017年6月10日
更改了ListVars用于顯示包含對象的變量的格式?,F(xiàn)在顯示對象的類名。
向ComObjType()添加了“class”和“clsid”模式。
調(diào)試器顯示的修改的類名稱,并在此過程中顯著減少了代碼大小。
修改FileSetAttrib,F(xiàn)ileSetTime和FileDelete以減少代碼大小。行為不應(yīng)該有任何變化。
做了其他小的優(yōu)化代碼大小。
使用鍵名稱Esc,Escape,ScrollLock和PrintScreen修復(fù)GetKeySC()。
固定熱字詞檢測包含非空格標(biāo)記的單詞,如阿拉伯語變音符號。
1.1.25.02 - 2017年5月13日
如果出現(xiàn)錯誤,固定的GUI選項字符串將被永久截斷。
固定屬性和類子變量以允許非ASCII字符。
固定new操作符允許__New拋出或退出。