- AutoHotkeyは、スクリプトを作成してキーに処理を割り当てるツールです。
- カスタムのショートカットキーで、Windowsでの作業効率を向上させることができます。
- AHKスクリプトには、変数、関数、メッセージボックスなどの機能があり、キー操作で複雑な処理を自動化できます。
1. AutoHotkeyのインストールと設定
公式サイト(autohotkey.com)からAutoHotkeyをダウンロードして、インストールします。

v2.0以降とそれ以前(v1.1)でスクリプト構文にも違いがあります。
2. スクリプトを作成する
スクリプトを作成するには、拡張子が「.ahk」のテキストファイルを作成します。
インストールされた AutoHotkeyのソフトを起動すると、「AutoHotkley Dash」が表示されます。

このソフトは、スクリプトの作成や設定の変更をするものです。
AutoHotkeyのスクリプトは、キーに対して処理を割り当てる形で記述します。
- キー::コマンド行
^h::SendText "Hello"
2-1. スクリプトを動作させるには「開く」
作成したスクリプトは、AutoHotkeyで開いて動作させます。

例えば、このスクリプトを「myscript.ahk」などのファイル名で保存して AutoHotkey Launcherで開きます。
すると、「Ctrl+H」キーを押すだけで “Hello” という文字列を出力できます。1。

インストールすると、拡張子「.ahk」はAutoHotkey Launcherに関連付けられます。
Windowsの起動時に自動でスクリプトを動作させるには、作成した.ahk
ファイルのショートカットをスタートアップフォルダに入れるだけです。
C:\Users\{ユーザー名}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
ファイルがAutoHotkey Launcherに関連付けられているので、スクリプトが動作します。
2-2. v1, v2
AutoHotkeyは、Ver 1.2とVer 2でスクリプトの記述が微妙に異なります。最新の情報を確認してください。
^j::
MsgBox, Wow!
MsgBox, There are
Run, notepad.exe
WinActivate, Untitled - Notepad
WinWaitActive, Untitled - Notepad
Send, 7 lines{!}{Enter}
SendInput, inside the CTRL{+}J hotkey.
return
^j::
{
MsgBox "Wow!"
MsgBox "There are"
Run "notepad.exe"
WinActivate "Untitled - Notepad"
WinWaitActive "Untitled - Notepad"
Send "7 lines{!}{Enter}"
SendInput "inside the CTRL{+}J hotkey."
}
3. AutoHotkeyスクリプトの構文
; F1キーを押すとメモ帳が起動する
F1::Run notepad.exe
; マウスホイールを左右に動かすとブラウザのバック・フォワードを行う
WheelLeft::Send {Browser_Back}
WheelRight::Send {Browser_Forward}

「;」で開始する行はコメント行です。
3-1. 変数、分岐、関数
AutoHotkeyには、変数、メッセージボックス、関数、GUIなどの高度な機能があります。
例えば、「:=」による変数の定義や
myTitle := "メモ帳"
F1::
Run notepad.exe
WinWait, %myTitle%
WinActivate
return
メッセージボックスによる分岐処理、
MsgBox, 1, AutoHotkey, この処理を実行しますか?
IfMsgBox OK
; OKが押された時の処理
Else
; キャンセルが押された時の処理
さらに、関数の定義もできます。
DetectKeyPress(key, delay)
{
Loop
{
if not GetKeyState(key, "P")
break
Sleep, %delay%
}
}
F1::
DetectKeyPress("F1", 100)
Run notepad.exe
return

AutoHotkeyは、ショートカットを追加するだけでなく、様々なタスクを自動化できるようになります。

![[WordPress]ブロックエディタに「書式のクリア」のショートカットキーを追加した(functions.php)](https://chiilabo.com/wp-content/uploads/2024/08/image-3-2-320x198.jpg)
