【初心者向け】Autohotkeyのインストール方法と基本文法 君だけの最強PCを作ろう【AHK v2】

Autohotkey

どうも、とみすけです。

僕は情報系の大学に通っていますが、それでもAutohotkeyを使っている人と直接出会ったことがありません。

(主に僕が大学内で)Autohotkeyを布教するに当たって、入り口となるサイトを自分で作れば都合が良いと考え、この記事を書きます。

また、Autohotkeyは古いバージョンのv1と、現在のバージョンのv2があります。
autohotkeyと検索すると、v1の記事が多数出てきますが、v2にv1の後方互換性がないため、v1の記事をそのまま参考にすると躓きます。
v2をサポートする記事がまだまだ少ないと感じている理由もあり、この記事を書きます。

Autohotkeyとは

Autohotkey(以下、AHK)は、Windows向けのスクリプト言語で、自由にショートカットキーを作成したり、キーを入れ替えることができるツールです。

例えば、CapsLockBackspaceを割り当てたり、変換 + Aでブラウザを開く など、割と何でもできます。

「スクリプト言語」と書かれると難しそうに思われるかもしれませんが、基本文法は極めて簡単。プログラミングやったことない人でも余裕で覚えられます。

ひとまずAHKの文法としては以下を覚えておけば大丈夫。

入力::出力

これだけ。例えば、A を押したらB を出力したいならば、

a::b

簡単でしょ。

この基本文法を拡張していくだけで、信じられないほどいろんな事ができます。例を挙げていくのが大変なので、ChatGPTにできる事を挙げさせました。確認しましたが、多分全部できます。

🔹 キーバインド変更

  • CapsLockEsc に変更
  • F1Ctrl + 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の公式サイトにアクセスします。

AutoHotkey
Free keyboard macro program. Supports hotkeys for keyboard, mouse, and joystick. Can expand abbreviations as you type them (AutoText).

真ん中の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において、CtrlShirt などの修飾キーには、シンボルが割り当てられています。

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で検索してくれるコードを作成してみましょう。

まず、実装したい動作の流れを把握します。

  1. 分からない単語を選択
  2. 選択した単語をコピー(Ctrl+C)
  3. google.comを開く
  4. ペースト(Ctrl+V)
  5. 検索(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を作ってください!

(未来大生は僕に直接聞いてくれれば、いくらでも教えます)

コメント

タイトルとURLをコピーしました