どうも、とみすけです。
僕は情報系の大学に通っていますが、それでもAutohotkeyを使っている人と直接出会ったことがありません。
(主に僕が大学内で)Autohotkeyを布教するに当たって、入り口となるサイトを自分で作れば都合が良いと考え、この記事を書きます。
また、Autohotkeyは古いバージョンのv1と、現在のバージョンのv2があります。
autohotkeyと検索すると、v1の記事が多数出てきますが、v2にv1の後方互換性がないため、v1の記事をそのまま参考にすると躓きます。
v2をサポートする記事がまだまだ少ないと感じている理由もあり、この記事を書きます。
Autohotkeyとは
Autohotkey(以下、AHK)は、Windows向けのスクリプト言語で、自由にショートカットキーを作成したり、キーを入れ替えることができるツールです。
例えば、CapsLockにBackspaceを割り当てたり、変換 + Aでブラウザを開く など、割と何でもできます。
「スクリプト言語」と書かれると難しそうに思われるかもしれませんが、基本文法は極めて簡単。プログラミングやったことない人でも余裕で覚えられます。
ひとまずAHKの文法としては以下を覚えておけば大丈夫。
入力::出力
これだけ。例えば、A を押したらB を出力したいならば、
a::b
簡単でしょ。
この基本文法を拡張していくだけで、信じられないほどいろんな事ができます。例を挙げていくのが大変なので、ChatGPTにできる事を挙げさせました。確認しましたが、多分全部できます。
🔹 キーバインド変更
CapsLock
をEsc
に変更F1
をCtrl + S
にする(上書き保存)Ctrl + Shift + P
で特定のアプリを起動
🔹 キーのマクロ・自動操作
Ctrl + D
を押すと、Hello, World!
を3回入力Alt + 右クリック
でダブルクリックの動作Ctrl + ホイール
で音量調整- マウスの中ボタンを押すと、カーソルを指定位置へ瞬間移動
🔹 ウィンドウ制御
Alt + 1
で特定のウィンドウを最前面に固定Ctrl + Q
でアクティブなウィンドウを閉じるCtrl + F1
で指定アプリを最大化
🔹 PCの電源管理
Ctrl + Alt + S
でスリープCtrl + Alt + L
でロックCtrl + Shift + R
で再起動
🔹 プロセス管理
F10
を押すと不要なプロセスを終了
🔹 クリップボード操作
Ctrl + Shift + V
でテキストを「プレーンテキスト」で貼り付け- クリップボード履歴を記録して呼び出し可能に
🔹 Web自動操作
Ctrl + G
でGoogle検索を開くCtrl + Y
でYouTubeの動画ページを開く- 特定サイトにログインするスクリプトを作成
🔹 メール&SNSの自動化
- Gmailを開いて自動で新規メール作成
Ctrl + T
でTwitterに素早く投稿
🔹 連打&マクロ
F1
で1秒間に10回クリックF2
でマウスを自動移動&攻撃(ゲーム向け)Ctrl + Alt + X
で連打を開始、もう一度押すと停止
🔹 コントローラー対応
- ゲームパッドの
L1
ボタンをCtrl + Z
に割り当て 右スティック押し込み
でウィンドウを切り替え
🔹 自作のGUIツールを作成
- シンプルなランチャー(ボタンを押すとアプリ起動)
- クリックで特定のサイトにアクセスするボタンを作成
あなたの発想次第で、便利なショートカットを量産することができます。普段よく行う動作や、地味に面倒くさい動作を、どんどんオリジナルのショートカットに置き換えていきましょう!
環境構築(AHKのインストール)
AHKの公式サイトにアクセスします。
真ん中のDownload→Download v2.0 をクリック。v1.1は非推奨になっています。
ダウンロードしたexeファイルを開いて、Installを押してインストールしてください。
これでAHKのインストールが終了しました。
VisualStudioCodeの準備
AHKスクリプトを記述するにあたって、VSCodeの導入をおすすめします。
以下のサイトの手順に従ってVisualStudioCode(以下VSCode)をインストールします。既にインストールしている方は飛ばしてください。
https://qiita.com/mmake/items/2cf2131a0ab5bc431215
①を押して拡張機能の検索ページに飛びます。
②のテキストボックスに「autohotkey v2」と入力します。

AutoHotkey v2 Language Supportを選択して、インストールを押します。

スタートメニューなどから、「Autohotkey Dash」と検索して、立ち上げます。

左下の”Editor settings”をクリックして、先ほどインストールしたVSCodeを選択し、OKを押します。
これでVSCodeの準備、及び環境構築は終了です。
AHKファイルを作成する
Autohotkey Dashの左上、”New script”からahkファイルを作成します。
ファイルの名前と作成する場所を任意で指定します。
デフォルトの場所は”C:/Users/{ユーザー名}/Documents/AutoHotkey”になっていると思います。
Minimal for v2を選択して、Editをクリックします。

するとVSCode(指定したエディタ)が立ち上がるはずです。

正常に動作することを確認しましょう。
a::b
と入力しCtrl + s で保存します。
保存した.ahkファイルをダブルクリックして起動しましょう。デフォルトの場所は”C:/Users/{ユーザー名}/Documents/AutoHotkey”のはずです。
すると左下のタスクトレイに緑のHマークが現れると思います。

これが起動している間は、記述したahkスクリプトが有効になります。メモ帳か何かを開いてA を押してみてください。”B”が出力されるはずです。
文法
Autohotkeyにおいて、Ctrl やShirt などの修飾キーには、シンボルが割り当てられています。
Shiftキー | + |
Ctrlキー | ^(ハット) |
Altキー | ! |
Winキー | # |
例えば、Ctrl + C は ^c と記述することができます。Ctrl + Shift + Y は ^!y です。
冒頭説明したように、Autohotkeyの基本文法は
入力::出力
です。よって、Ctrl + C を入力して、Ctrl + Shift + Y を出力したい場合、以下のようになります。
^c::^!y
Sendコマンド
何かキーを出力したいときに使うコマンドです。何も記述しない場合、暗黙的に(勝手に)このコマンドが指定されます。
Sendに指定するコマンドは、””(ダブルクォーテーション)で囲って、キーは{}で囲います。
先ほどのコマンド、
^c::^!y
は、もっと明示的に記述すると
^c::Send "^!{y}"
となります。
▼AHK Wiki Sendコマンド
https://ahkscript.github.io/ja/docs/v2/lib/Send.htm
Sendコマンドは1つの入力で複数の出力を行いたい場合などに、必ず使用する必要があります。
例えば、^cで、{1}と、{2}を出力したい場合、以下のようになります。
^c::Send "{1}{2}"
以下のように記述してしまうと、12をキーではなく数字と認識してしまい、エラーが出ます。
^c::12
実際に試して、どのような挙動になるか試してみてください。試すときは、変更を保存した後、タスクトレイのアイコンを右クリックし、Reload Scriptをクリックすることで変更が反映されます。

Runコマンド
アプリケーションを立ち上げたり、URLを開いたりしたい時に使います。
URLを指定すれば、規定のブラウザでそのURLが開きます。
以下はCtrl + t を押すと、tomisuke.comが開くコードです。
^t::Run "https://tomisuke.com/"
フォルダやファイルを指定することもできます。
Ctrl + t でダウンロードフォルダを開くコードです。
^t::Run "C:\Users\{ユーザー名}\Downloads"
コマンドを組み合わせる
ここまでで紹介したSendコマンド、Runコマンドを組み合わせることができます。例を見ながら理解していきましょう。
webサイトを見ている時に、分からない単語を見つけて、調べる必要があるときありますよね。
そこで、分からない単語を選択した状態で、Ctrl +Alt +s を押すとGoogleで検索してくれるコードを作成してみましょう。
まず、実装したい動作の流れを把握します。
- 分からない単語を選択
- 選択した単語をコピー(Ctrl+C)
- google.comを開く
- ペースト(Ctrl+V)
- 検索(Enter)
2.から5.を1ボタンでできるようにしてみましょう。
コマンドが複数になるときは、出力部分を{}で囲います。
^!s::{
Send "^{c}"
Run "https://www.google.com"
Sleep 1000
Send "^{v}"
Send "{Enter}"
}
Sleep 1000は、1000ミリ秒(1秒)待機という意味です。google.comが開くまで待つ必要があるためです。ご自身の通信環境に合わせて調節してください。これで、分からない単語を選択した状態でCtrl +Alt +s を押すと、その単語をGoogleで検索してくれるスクリプトができました。
ちなみに、A_Clipboardという関数を使えば、Sleepを使わなくても上手に動いてくれます。
^!s::{
A_Clipboard := ""
Send "^{c}"
ClipWait
Run "https://www.google.com/search?q=" A_Clipboard
}
まとめ
Autohotkeyの導入方法、文法について簡単に解説しました!
AHKv2の文法を解説しているサイトは少ないですし、Wikiもかなりのガバガバ翻訳なので、時間があればしっかりした文法解説ができればと思います。
ぜひAHK色々カスタマイズして、自分だけの最強PCを作ってください!
(未来大生は僕に直接聞いてくれれば、いくらでも教えます)
コメント