AutoHotkey
軟件語言:英文版
|
軟件授權(quán):免費(fèi)軟件
|
適用系統(tǒng):Windows
|
創(chuàng)建時(shí)間:2020-12-14 |
軟件廠商/開發(fā)者信息:獨(dú)立開發(fā)者
|
錦囊 更多
- AutoHotkey的教程 2021-03-30
- 提升Git體驗(yàn):探索Gitui——高效的終端UI工具 2024-01-05
- Stirling PDF - 強(qiáng)大的本地 PDF 管理工具 2024-01-05
資訊 更多
- AutoHotkey v1.1.30.03 綠色版更新 2019-09-16
- 微信Mac插件——微信小助手,是一款功能強(qiáng)大的插件 2024-01-08
- 完美解碼:打造頂級視聽盛宴的終極使用指南 2024-01-06
平臺簡介
AutoHotkey 是一款免費(fèi)的、Windows平臺下開放源代碼的熱鍵腳本語言。
功能
通過發(fā)送鍵盤或鼠標(biāo)的鍵擊動作命令來實(shí)現(xiàn)幾乎所有操作的自動化。您可以自己編寫 宏(AutoHotkey Script) 或者使用宏錄制器(AutoScriptWriter)來生成;
為鍵盤,游戲操縱桿和鼠標(biāo)創(chuàng)建熱鍵。 事實(shí)上任何的按鍵、按鈕或組合鍵都可以被設(shè)置為熱鍵;
可以對Windows各類型窗口進(jìn)行匹配以及相關(guān)屬性調(diào)整(例如:透明、隱藏、置頂、改變大小等);
當(dāng)鍵入您自定義的縮寫時(shí)可以 擴(kuò)展縮寫。例如, 鍵入“btw”就可以自動擴(kuò)展為“by the way”;
創(chuàng)建自定義的數(shù)據(jù)輸入表格、用戶界面、菜單等標(biāo)準(zhǔn)控件以及ActiveX 組件(例如IE瀏覽器控件)等。詳情請看 圖形界面 部分;
映射 鍵盤、游戲操縱桿和鼠標(biāo)上的按鍵或按鈕;
運(yùn)行現(xiàn)有的AutoIt v2腳本并用 新功能 來增強(qiáng)它們;
將腳本文件編譯 成EXE可執(zhí)行文件,使得程序在沒有安裝AutoHotkey的機(jī)器上得以運(yùn)行;
借助 相關(guān)工具 以實(shí)現(xiàn)更強(qiáng)大的功能;
更多關(guān)于熱鍵的說明
AutoHotkey 可令鍵盤、游戲操縱桿和鼠標(biāo)的所有潛能都發(fā)揮出來。例如,除了典型的Control、Alt和Shift鍵之外,你還可以定義Win鍵(徽標(biāo)鍵)和Capslock鍵作為調(diào)節(jié)鍵。 而實(shí)際上你還可以設(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í)會重定向到腳本中的函數(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)行讀寫操作。
流程控制:
多種條件判斷(字符項(xiàng)目、窗口、文件、進(jìn)程、錯(cuò)誤返回值等),條件下采用{}區(qū)塊以及制表符進(jìn)行分層級;
可以配合變量進(jìn)行多級循環(huán)復(fù)雜操作;
可以與一般編程一樣創(chuàng)建自定義函數(shù)并調(diào)用;
圖形界面:
使用您喜歡的圖標(biāo)、工具提示(ToolTip)、菜單項(xiàng)目和子菜單來自定義托盤圖標(biāo)菜單;
顯示對話框、工具提示(Tooltips)、氣球提示以及彈出菜單,與用戶交互;
可以置頂自定義圖片來做程序啟動界面;
鼠標(biāo)和鍵盤:
可以禁用或啟用用戶通過鍵盤和鼠標(biāo)對電腦進(jìn)行操作而腳本不受影響。
用游戲操縱桿或鍵盤代替鼠標(biāo);
可以對窗口中的指定控件進(jìn)行點(diǎn)擊、改變文字等操作而不會出現(xiàn)鼠標(biāo)點(diǎn)擊事件;
數(shù)學(xué)相關(guān):
可以進(jìn)行一些科學(xué)運(yùn)算(如三角函數(shù)、平方根、冪運(yùn)算、e^N等);
屏幕管理:
通過檢測圖像和象素色彩來自動執(zhí)行游戲中的動作;
進(jìn)程管理:
執(zhí)行腳本動作來響應(yīng)系統(tǒng)關(guān)閉或注銷;
使用RunAs方式指定運(yùn)行用戶身份;
可以對進(jìn)程進(jìn)行是否存在、列表、優(yōu)先級、等待運(yùn)行、等待結(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)時(shí)自動關(guān)閉它們;
可以設(shè)置定時(shí)器并啟用、停用該項(xiàng)目;
檢測系統(tǒng)空閑時(shí)間。例如,在系統(tǒng)空閑的時(shí)候執(zhí)行高CPU負(fù)荷的任務(wù);
你只要有想像力,它可以完成更多工作。
兼容性
在 Windows 95/98/Me 下,一些 高級功能例如鼠標(biāo)熱鍵和 熱字串 -- 在Win9x 平臺將失效。
在Window8/8.1環(huán)境下,BlockInput會失效。
在Windows RT操作系統(tǒng)上,需要越獄并下載指定編譯版本Autohotkey,手動注冊相關(guān)注冊表項(xiàng)后
即可使用,不保證所用命令有效。
注意事項(xiàng)
1、在字符串賦值時(shí),使用a=b這種方式時(shí),“"”(英文雙引號)、“,”(英文逗號)需要轉(zhuǎn)義,轉(zhuǎn)義符為“·”(Tab上面,1左邊的字符),等同于其他語言的“\”。其他要轉(zhuǎn)義的字符:回車“`r”,換行“`n”,制表符“`t”,空格“%A_Space%”,非注釋分號“`;”,非引用百分號“`%”。
2、AHKer在接觸AHK可能接觸過其他語言,會有書寫方面的問題。建議按照標(biāo)準(zhǔn)書寫風(fēng)格書寫并嚴(yán)格使用制表符以及區(qū)塊進(jìn)行分層。語句各屬性項(xiàng)目嚴(yán)格使用英文逗號分隔而不是空格,這會大大減少錯(cuò)誤情況。
3、使用AutoScriptWriter錄制的腳本可能會用語句冗余以及操作時(shí)間不當(dāng)?shù)炔僮?,可以作參考并適當(dāng)添加win相關(guān)命令以及PixelGetColor、ImageSearch等命令在恰當(dāng)?shù)臅r(shí)機(jī)操作。
4、窗口以及像素相關(guān)操作(如鼠標(biāo)點(diǎn)擊)默認(rèn)為相對當(dāng)前活動窗口,一些操作可能會錯(cuò)誤。需要默認(rèn)為全屏幕,請?jiān)谀_本頭添加:
CoordMode,Pixel,Screen
CoordMode,Mouse,screen
5、腳本運(yùn)行時(shí),默認(rèn)會有任務(wù)欄圖標(biāo)及相關(guān)右鍵菜單,如不需右鍵菜單,請?jiān)谀_本頭添加Menu, Tray, NoStandard;如不需要顯示任務(wù)欄圖標(biāo),請?jiān)谀_本頭添加#NoTrayIcon。
翻譯進(jìn)度
原英文幫助CHM文件被解壓后,除去19個(gè)腳本頁面,共計(jì)254個(gè)HTML網(wǎng)頁文件。
待翻統(tǒng)計(jì):
命令:220個(gè)共1.22M,剩79個(gè)共717K
雜項(xiàng):18個(gè)共172K,剩14個(gè)共156K
根目錄下:16個(gè)共366K,剩7個(gè)共221K
html 文件總計(jì):254個(gè)頁面共1.75M
未翻:100個(gè)頁面共1.07M,約61.14%
已翻:154個(gè)頁面共0.68M,約38.86%
主分支的版本幫助已完全翻譯完畢, 翻譯詳情及下載請至AutoHotkey中文論壇
*AutoHotKey已推出中文版幫助,AHK版本v1.1.13.00。該中文幫助由 amnesiac 更新。
計(jì)劃
(1)將官方論壇中Tuncay大大收集的Ahk Standard Library Collection(當(dāng)前版本:201009181732)集成到幫助文件, 已放出第一個(gè)測試版, 歡迎下載及提供意見和建議!
(2)由于1.0.48.05版本主分支已經(jīng)停止更新近一年, 而AutoHotkey_L分支持續(xù)更新, 增加了許多重要的特性, 因此接下來計(jì)劃翻譯其幫助文件.
新特性
流程控制 | |
---|---|
BreakLoopLabel | 退出一個(gè)循環(huán)或任意數(shù)目的嵌套循環(huán). |
ContinueLoopLabel | 繼續(xù)循環(huán), 即使在任意數(shù)目的嵌套循環(huán)中. |
Forx,yinz | 從頭到為尾循環(huán)對象的內(nèi)容. |
Loop Until | 循環(huán)直到條件為真. 可用于任意類型的循環(huán). |
Try...Catch | 提供結(jié)構(gòu)化的異常處理機(jī)制. |
Throw | 拋出異常. |
命令 | |
FileEncoding | 為FileRead、FileReadLine、Loop Read、FileAppend和FileOpen設(shè)置默認(rèn)編碼。 另請參閱:文本編碼 |
Gui | 請參閱后面的GUI 增強(qiáng). |
IniRead/Write/Delete | 讀取, 寫入或刪除整段, 或獲取所有段名稱組成的列表. |
Menu, Icon | 設(shè)置或移除菜單項(xiàng)圖標(biāo). |
Run | 改進(jìn)了參數(shù)的解析方式. |
SendInput {U+nnnn} | 發(fā)送 Unicode 字符. 在 Unicode 版本中可以直接使用 Unicode 字符. |
SendLevel | 控制熱鍵和熱字串是否忽略模擬的鍵盤和鼠標(biāo)事件。 |
SetFormat, IntegerFast, h|H | 設(shè)置小寫或大寫的十六進(jìn)制格式. |
SetRegView, RegView | 允許 32 位腳本中的注冊表命令訪問 64 位注冊表視圖,反之亦然。 |
Transform, HTML | 執(zhí)行代碼頁或 HTML 轉(zhuǎn)換. |
WinGet, ..., ProcessPath | 獲取擁有指定窗口的進(jìn)程的完整路徑和名稱. |
指令 | |
#Ifexpression | 類似于#IfWinActive,但可以是任意類型的表達(dá)式。 |
#IfTimeout | 設(shè)置計(jì)算單個(gè) #If 表達(dá)式可以使用的最大時(shí)間。 |
#MenuMaskKey | 改變用來屏蔽 Win 或 Alt keyup 事件的按鍵。 |
#Include <Lib> | 包含函數(shù)庫文件夾中的腳本文件. |
#InputLevel | 控制熱鍵和熱字串是否忽略模擬的鍵盤和鼠標(biāo)事件。 |
#Warn | 啟用或禁用為選擇的情況提示開發(fā)者錯(cuò)誤的警告。 |
函數(shù) | |
ComObj...-- ComObjActive ComObjEnwrap/Unwrap ComObjParameter ComObjType | 獲取注冊的 COM 對象。 包裝/解開 COM 對象。 把值和類型包裝成參數(shù)傳遞. 獲取 COM 對象的類型信息. |
ComObjArray | 創(chuàng)建用于 COM 的 SAFEARRAY。 |
ComObjConnect | 連接 COM 對象的事件源到帶有給定前綴的函數(shù)。 |
ComObjCreate | 創(chuàng)建 COM 對象。 |
ComObjError | 啟用或禁用 COM 錯(cuò)誤通告。 |
ComObjFlags | 獲取或改變控制 COM 包裝器對象行為的標(biāo)志。 |
ComObjGet | 返回由 COM 組件提供的對象引用。 |
ComObjQuery | 查詢 COM 對象的接口或服務(wù)。 |
ComObjType | 從 COM 對象獲取類型信息。 |
ComObjValue | 獲取存儲在 COM 包裝器對象中的值或指針。 |
Exception | 創(chuàng)建用于Throw的異常對象 (同時(shí)提供對堆棧的受限訪問). |
FileOpen | 提供面向?qū)ο蟮奈募?I/O。 |
Func | 獲取函數(shù)的引用。 |
GetKeyName/VK/SC | 獲取按鍵的名稱、文本、虛擬按鍵碼或掃描碼。 |
InStr | 搜索字符串的出現(xiàn)位置,從左邊或右邊開始。 |
IsByRef | 判斷變量是否是 ByRef 參數(shù)。 |
IsObject | 判斷某個(gè)值是否為對象。 |
StrPut / StrGet | 復(fù)制字符串到內(nèi)存地址或來自內(nèi)存地址,并可選地對其在不同代碼頁間進(jìn)行轉(zhuǎn)換。 |
Trim | 移除字符串的開始和/或末尾的某些字符。 |
RegEx (?CNum:Func) | 在正則表達(dá)式進(jìn)行模式匹配期間調(diào)用函數(shù). |
函數(shù)庫 | 新的 "本地庫" 和#Include <LibName>. |
可變參數(shù)函數(shù) | 函數(shù)可以通過數(shù)組接受可變數(shù)目的參數(shù). |
靜態(tài)初始化 | 靜態(tài)變量現(xiàn)在可以使用任意表達(dá)式進(jìn)行初始化. |
對象 | |
概述 | 對象的常規(guī)行為和用法. |
對象 | 可以使用其他功能擴(kuò)展的關(guān)聯(lián)數(shù)組. |
枚舉數(shù) | 可以枚舉容器中的項(xiàng)目. |
文件 | 提供訪問文件的接口.FileOpen返回文件類型的對象. |
Func | 表示可以被腳本調(diào)用的自定義或內(nèi)置的函數(shù). |
ComObject | 請參閱上面的 ComObj 函數(shù)。 |
變量 | |
A_Is64bitOS | 當(dāng)操作系統(tǒng)為 64 位則值為 1(真),為 32 位則為 0(假)。 |
A_IsUnicode | 在 Unicode 版本中, 此變量值為 1 (true). 在 ANSI 版本中此變量未定義, 所以等同為false. |
A_FileEncoding | 包含用于多種命令的默認(rèn)編碼,請參閱FileEncoding。 |
A_OSVersion | 支持 Windows 7 和 Windows 8,請參閱A_OSVersion。 |
A_PriorKey | 在最近按鍵按下或釋放前最后按下的按鍵名稱 ...(更多細(xì)節(jié)) |
A_PtrSize | 包含指針的大小, 單位為字節(jié). 此大小為 4 (32 位) 或 8 (64 位). |
A_RegView | 由SetRegView設(shè)置的當(dāng)前注冊表視圖。 |
A_ScriptHwnd | 腳本隱藏主窗口的唯一 ID (HWND/句柄). |
數(shù)據(jù)類型 | |
Ptr | 在 32 位版本中等同于Int而在 64 位版本中為Int64. 由DllCall,NumPut和NumGet所支持. |
AStr,WStr | 僅DllCall支持,請參閱腳本兼容性。 |
Unicode | |
兼容性 | 在 DllCall 中如何處理 Unicode 等. |
腳本文件 | 在腳本文件中使用 Unicode 編碼. |
SendInput | 在 SendInput 中使用 Unicode. |
其他 | |
ahk_exe | 窗口可以通過擁有此窗口的進(jìn)程名稱或路徑 (EXE 文件) 進(jìn)行標(biāo)識. |
調(diào)試 | 交互式調(diào)試功能 (單步執(zhí)行等). |
錯(cuò)誤處理 | Try/catch/throw 和增加的 A_LastError 可用性. |
GUI 增強(qiáng) | 對 Gui 命令和相關(guān)部分的多方面增強(qiáng). |
圖標(biāo)支持 | 資源標(biāo)識符和改進(jìn)的對各種圖標(biāo)大小的支持. |
其他變更 | 影響腳本兼容性的改變. |
版本歷史 | AutoHotkey_L 的修訂歷史. |
錯(cuò)誤處理
許多命令支持使用 try/catch 代替 ErrorLevel 進(jìn)行錯(cuò)誤處理. 例如:
try
{
FileCopy, file1.txt, C:\folder
FileDelete, C:\folder\old.txt
}
catch
MsgBox An error occured!
此外, 后面的這些命令設(shè)置 A_LastError 來輔助調(diào)試: FileAppend, FileRead, FileReadLine, FileDelete, FileCopy, FileMove, FileGetAttrib/Time/Size/Version, FileSetAttrib/Time, FileCreateDir, RegRead, RegWrite, RegDelete.
函數(shù)庫
除了 %A_MyDocuments%\AutoHotkey\Lib 的用戶庫和在 AutoHotkey 目錄的標(biāo)準(zhǔn)庫外, 函數(shù)還可以從 %A_ScriptDir%\Lib 中的 "本地庫" 自動加載. 想了解更多信息, 請參閱 函數(shù)庫.
#Include <LibName> 可以明確加載函數(shù)庫中任意一個(gè)庫文件.
GUI 增強(qiáng)
對 Gui 命令和相關(guān)部分進(jìn)行了一些增強(qiáng):
引用 GUI 時(shí)可以用 名稱或 HWND 代替介于 1 和 99 之間的數(shù)字.
Gui, New 創(chuàng)建新的匿名 GUI.
可以創(chuàng)建任意數(shù)目的命名或匿名 GUI.
新 GUI 選項(xiàng): +HwndOutputVar, +ParentGUI
GUI 的擁有者可以為任意窗口: +Owner%HWND%.
Gui, Font 可以控制文本的反鋸齒效果.
支持像 Internet Explorer WebBrowser 這樣的 ActiveX 控件.
GuiControlGet, OutputVar, Name 獲取與 GUI 控件關(guān)聯(lián)的變量名.
在 Gui menus 中使用像 Ctrl+O 這樣的鍵盤快捷鍵時(shí)會自動得到支持.
字體品質(zhì) 可以通過 Font 子命令控制.
靜態(tài)變量
靜態(tài)變量可以使用任意表達(dá)式進(jìn)行初始化. 例如:
Sleep 500
MsgBox % Time() "ms since the script started."
Time() {
static Tick := A_TickCount
return A_TickCount - Tick
}
文本編碼
FileRead, FileReadLine, Loop Read 和 FileAppend 支持 Windows 所支持的大部分文本編碼, 而不限于系統(tǒng)默認(rèn)的 ANSI 代碼頁. 可以用 FileEncoding 設(shè)置默認(rèn)編碼, 此設(shè)置在 FileRead 和 FileAppend 中可以使用如下方法覆蓋:
FileRead, OutputVar, *Pnnn Filename
FileAppend [, Text, Filename, Encoding]
此處 nnn 必須是數(shù)值的 代碼頁標(biāo)識符, 而 Encoding 遵循與 FileEncoding 相同的格式.
另請參閱: 腳本兼容性
可變參數(shù)函數(shù)和函數(shù)調(diào)用
可變參數(shù)函數(shù) 可以通過數(shù)組接受可變數(shù)目的參數(shù), 而 可變參數(shù)的函數(shù)調(diào)用 可以用來傳遞可變數(shù)目的參數(shù)給函數(shù).
圖標(biāo)支持的改進(jìn)
不常見的大小
可以從可執(zhí)行文件中提取操作系統(tǒng)支持的任意大小的圖標(biāo)資源. 當(dāng)圖標(biāo)組中存在多種大小的圖標(biāo)資源時(shí), 則使用其中最合適的大小. 在修訂號 17 之前的版本中, 系統(tǒng)先選擇任意的圖標(biāo)資源, 接著調(diào)整到系統(tǒng)的大圖標(biāo)尺寸, 然后調(diào)整回請求的尺寸.
資源標(biāo)識符
使用負(fù)數(shù)的圖標(biāo)編號可以標(biāo)識可執(zhí)行文件中的一組圖標(biāo)資源. 例如, 下面的語句設(shè)置托盤圖標(biāo)為 ahk 文件的默認(rèn)圖標(biāo).
Menu, Tray, Icon, %A_AhkPath%, -160
版本列表
-
-
AutoHotkey v1.1.30.03 綠色版
autohotkey是一款免費(fèi)開源的熱鍵腳本語言,通過autohotkey用戶可將鍵 ...
軟件大小:3.33 MB 更新時(shí)間:2019-09-16