AutoHotkey:在 Windows 上自動執行任務的完美工具

已發表: 2020-12-09

您是否更喜歡將計算機上的平凡和重複性任務自動化以簡化您的工作流程? 如果你這樣做了,你就擁有了 macOS 上最好的自動化工具之一 Automator,它允許你創建腳本來自動化你在 Mac 上的任務。 但是,如果你屬於另一端——使用 Windows 機器——在 Windows 上最接近 Automator 的是AutoHotkeyAHK

AHK 是滿足您所有自動化需求的一站式工具。 您可以使用它來創建自定義腳本和快捷方式、重新映射鍵,甚至為不同的操作創建宏。 因此,如果您計劃在 Windows 上自動執行任務並且沒有使用 AutoHotkey,那麼這裡有一個指南可以幫助您入門並使用該工具來簡化您的工作流程。

AutoHotkey (AHK) Windows automation

在自動化方面,無論是在 Linux、macOS 還是 Windows 上,都有大量內置或第三方自動化工具來幫助您創建宏、自定義腳本和快捷方式。 但是,並非所有這些都提供對不同系統操作以及第三方應用程序操作的精細控制。 這正是 AutoHotkey 發揮作用的地方。

目錄

什麼是自動熱鍵?

AutoHotkey 是一個免費的開源工具,專門用於 Windows 操作系統,它允許您自動化機器上的許多操作。 它於 2003 年發布。當時,它最初是一個宏和鍵盤快捷鍵創建工具,提供自動執行重複任務的能力。 但多年來,它經歷了各種變化,最終成為現在的 Windows 一站式自動化工具。

AutoHotkey Windows scripting
用於導入 Python 庫和模塊的 AutoHotkey 腳本

與其他一些自動化和自定義快捷方式創建工具不同,這些工具提供圖形界面 (GUI) 以使該工具對初學者友好且易於使用,AutoHotkey 嚴格來說是一個命令行 (CLI) 工具。 這意味著您不會獲得帶有預先佈置好的按鈕和組件以與之交互的圖形界面。 相反,您擁有的是一個完全基於命令的界面,它通過命令接受輸入並相應地執行功能。

雖然這種方法有很多優點,但也有一些缺點,因為與 GUI 工具不同,它的 CLI 等效項不是最用戶友好的,因此,它需要用戶對相關知識有基本的了解-如何能夠充分利用它的潛力。

如何安裝 AutoHotkey?

現在您已經了解了 AutoHotKey 是什麼,開始使用該工具需要做的第一件事就是下載並將其安裝在您的機器上。 就是這樣。

1. 前往 AutoHotkey 的官方網站並在您的計算機上下載 AutoHotkey。

2. 接下來,運行安裝程序並單擊安裝對話框。

3. 當出現安裝類型選擇窗口時,選擇快速安裝:如果您想使用默認配置安裝該工具,或者選擇自定義安裝:如果您需要更多地控制該工具並希望根據您的偏好配置安裝。

如何使用自動熱鍵?

在您的 Windows 計算機上安裝 AutoHotKey 後,設置窗口會顯示一些選項。 您可以選擇從此處(暫時)運行 AutoHotkey,也可以單擊查看教程以獲取 AutoHotkey 的完整文檔。 如果您計劃為自動化任務創建自定義腳本,本文檔可以幫助您了解腳本語法和所有基本元素。

要使用 AutoHotkey,請確保該工具在後台運行。 你可以通過進入開始菜單並從那裡運行 AutoHotkey 來做到這一點。 一旦該工具啟動並運行,您現在有兩種不同的方法來在您的計算機上自動執行任務:您可以從頭開始為您想要自動化的操作創建自己的自定義腳本,或者您可以找到並下載腳本(由其他人創建) 在您的機器上運行它們。

A premade AutoHotkey script
預製 AutoHotkey 腳本,用於將應用程序最小化到托盤菜單

如果您剛剛開始使用 AutoHotkey,可以理解您不具備創建自定義腳本所需的全面的腳本語言知識。 因此,使用預製腳本(由其他人創建)是一個安全的起點,更不用說,它還可以幫助您了解和了解腳本在 AutoHotkey 上的工作原理,以便您最終可以自己創建腳本。

在尋找可立即運行的腳本時,Internet 上的一些源(源 1、源 2)提供了用於不同任務的各種腳本的集合,您可以下載這些腳本並直接在 Windows 計算機上運行。 此外,您還可以在 AutoHotkey 的官方網站和論壇上找到一些預製腳本。 此外,如果您遇到問題,您還可以在論壇上獲得您的查詢的答案。 [注意:下載腳本時,請確保文件以 .ahk 擴展名結尾。 ]

下載文件後,您可以對腳本執行一些不同的操作。 只需右鍵單擊文件並從列表中選擇一個選項。 基本上,有三個有用的功能:運行腳本編譯腳本編輯腳本

Run-Compile-Edit AutoHotkey script

Run Script ,顧名思義,就是執行一個腳本。 如果您想將此功能映射到一個鍵,您可以這樣做以簡化工作流程。 另一方面,編譯腳本可幫助您編譯腳本並將其與可執行文件捆綁在一起,以將腳本轉換為可執行 (.exe) 文件。 編輯腳本選項適用於您需要查看代碼或想要更改腳本時。

當您運行腳本時,它會移動到系統托盤並在後台運行。 有時,當您需要暫停腳本、停止腳本或暫停熱鍵時,您可以通過右鍵單擊系統托盤中的“ H ”圖標並從那裡選擇合適的選項來執行此操作。 更改腳本時要記住的一點是,每次編輯腳本時,都需要重新加載它以使更改生效。

Reload-Pause-Suspend AutoHotkey script

另一方面,如果您打算自己創建自定義腳本,請右鍵單擊桌面並選擇New > AutoHotkey Script 。 為文件命名並確保它以 .ahk 擴展名結尾。 現在,右鍵單擊它並從選項列表中選擇編輯腳本。 在文本編輯器中打開文件後,開始添加代碼。 完成後,請確保保存更改。

AutoHotkey 如何工作,以及如何創建自定義腳本?

簡單來說,AutoHotkey 自己不​​會做任何事情。 相反,它依賴於腳本(包含執行操作的指令的程序)來自動執行任務。 使用文本編輯器編寫腳本。 您甚至可以將其寫入 Windows 預裝的記事本應用程序中。 或者,如果您更喜歡語法高亮,您可以使用任何流行的文本編輯器,如 Emacs、Vim、Sublime Text、Notepad++ 或 SciTE4AutoHotkey 來編寫腳本。 但是,如果您不熟悉文本編輯器,您可以使用 Notepad++,這是一個非常基本的編輯器(並且相對更容易使用),或者您可以獲得 SciTE4AutoHotkey 編輯器,它是 SciTE 編輯器的自定義版本,專為編寫 AutoHotkey 腳本而設計——儘管它確實有一個學習曲線。

AutoHotkey 腳本可以包含一個或一組不同的操作。 理想情況下,您添加一個熱鍵並指定要使用它執行的操作。 但是,對於需要多項操作的任務,您還可以為熱鍵指定多個操作。

Writing a custom AutoHotkey script
AutoHotkey 腳本對剪貼板中的內容進行 Google 搜索

說到腳本,該工具理解 AutoHotkey 腳本語言,它與任何其他編程語言一樣,構成變量、對象、函數、控制流語句等各種元素。當以一種內聚的方式組合在一起時,這些元素可以幫助您執行您想要的操作,進而自動執行您的任務。

無需贅述,您需要牢記一些基本元素或功能才能開始使用自定義腳本。 這些包括:

1. 熱鍵 -單個鍵或組合鍵,您可以綁定到操作以快速執行它。

例如1:
^c: :
Run, chrome.exe

例如 2:
^h::
{
Send “Hello,” {enter}
Send “How have you been?”
}

翻譯 1:當您按下 control + c 組合鍵時運行 Chrome 的操作。

翻譯 2:當你按下 control + h 鍵並輸入 Hello, 你好嗎?

enter 一詞放在括號內,因為我們不想將其添加為文本。 相反,我們希望它註冊回車鍵並在新行開始下一個句子。

2. Hotstrings:擴展縮寫的功能,類似於自動替換功能。

例如:
::omw::On my way{!}

翻譯:用完整形式擴展 omw 縮寫。 感嘆號放在括號內,以將其註冊為感嘆號,而不是 Alt 鍵。

您必須知道的基本符號(或修飾符):

  • #窗口
  • Alt
  • ^控制
  • +Shift
  • && 符號(用於組合兩個組件)

3. 發送擊鍵:發送是一個 AutoHotkey 功能,允許您捕獲輸入(鍵入)的鍵並將其發送到程序。 因此,如果您想模擬按鍵,此功能可幫助您實現這一目標。 您可以將各種參數發送到程序。 根據您要發送的內容,有一些方法可以幫助您。

例如:
Send “!fs”

翻譯:選擇文件 > 保存菜單。

基本符號及其功能:

  • Alt
  • +Shift
  • ^控制
  • #窗口

4.運行程序和打開網站:運行是最有用的功能之一,它可以讓你運行程序或打開URL(網站)。 對於需要您打開應用程序或網站的腳本,此功能就是您所需要的。 此外,您可以將功能綁定到鍵以創建熱鍵並執行操作。

例如1:打開一個網站
^g::
Run, “https://www.google.com"

例如 2:運行應用程序
^n::
Run, “notepad.exe”

翻譯 1:在您的默認瀏覽器中打開 Google 搜索。
翻譯 2:運行記事本應用程序。

5. 命令和函數:命令函數是使用 AutoHotkey 編寫腳本時最關鍵的兩個元素,這使得向程序發出指令更容易。 一方面,您有一些命令可以接受簡單的指令並解決問題,而另一方面,有些功能可以幫助您為程序提供複雜的指令。

句法:

  • 命令,參數1,參數2,參數3
  • 功能(參數1,參數2,參數3)

基本上,括號將命令與函數分開。

例如: Run, chrome.exe

6. 雜項:除了命令、函數和發送擊鍵等內置函數之外,AutoHotkey 還允許您在腳本中使用大量不同的功能。 例如,您可以使用變量來存儲程序的輸出,使用對象來存儲程序的狀態,使用控制流語句來相應地修改程序的輸入、輸出和動作,使用數學函數、鼠標函數、監控功能、文件系統功能等。 基本上,您可以使用其他編程語言完成的所有操作(在一定程度上)都可以使用 AutoHotkey 完成。

AutoHotkey 有哪些用例?

AutoHotkey 的眾多可能用例之一是您可以創建腳本來添加某些代碼行。 這樣,您可以節省一些時間和精力,否則您會花費在一遍又一遍地編寫重複的代碼行上。 如果您使用 Python 或任何其他編程語言,您可以創建一個熱字串來填充已定義的代碼行。

例如,如果您使用 Python,您可能需要導入某些庫和模塊。 在這種情況下,以下代碼片段可以幫助您節省一些時間並簡化您的工作流程。

例如:
::impl1::
Send "import tkinter" {enter}
Send "import numpy as np" {enter}
Send "import random" {enter}

翻譯:只要您在文本編輯器中鍵入 impl1 並點擊選項卡,上面的熱字符串就會在雙引號之間寫下一行,一個在另一個下面。 如前所述,括號內的單詞 enter 用於換行。 所以你基本上得到的是以下內容:
import tkinter
import numpy as np
import random

同樣,如果您需要在 CSS 中編寫多個樣式代碼,您可以使用需要輸入的已聲明行集的熱字符串詞。

Custom AutoHotkey script to clean Recycle Bin
自定義 AutoHotkey 腳本來清理回收站

除了用於編碼之外,您還可以使用 AutoHotkey 腳本來啟動您經常在計算機上使用的某些應用程序或網站。 您甚至可以將鍵綁定到不同應用程序中的某些功能,以快速執行它們並節省一些額外的步驟。 此外,AutoHotkey 的另一個有用應用程序是將功能鍵或特殊鍵(CapsLock、Insert、Esc 等)重新用於幫助您觸發所需操作的東西。

最終,當您對腳本編寫充滿信心時,您可以創建一個腳本,在 Internet 上執行快速(Google)查找,以查找剪貼板中的任何內容。 這樣,您無需打開 Web 瀏覽器並手動搜索您的查詢。 同樣,如果您厭倦了手動清除回收站以釋放存儲空間,您還可以創建一個腳本來立即為您清除回收站。

不用說,一旦你掌握了腳本語言的竅門,你幾乎可以用 AutoHotkey 以更有效的方式實現你認為的任何功能。