こういうホットキーがあればいいのに!を実現できるソフト

AutoHotkey のアイコン

AutoHotkey

ダウンロード支援

バージョン
1.1.37.02 / 2.0.19
更新日
2025/01/25
対応 OS
Windows XP 以降
言語
英語
価格
無料
提供元

Windows のキーの組み合わせに、「何かのキー」を割り当てられるソフトです。
いつも使っているキーボード操作をより便利にしたい、マウスをなるべく使わずにキーボードで完結したい、といった場合に役立ちます。
動作の命令を記述する ” スクリプト ”を作成することで、本ソフトはスクリプトを読み込んで実行します。
スクリプトを作成することで、次のようなキーの置き換えや動作を設定、実行できるようになります。

  • 矢印キーを置き換えてホームポジションの近くに配置
  • あまり有効に利用されていないような無変換キーや変換キーを組み合わせた有効活用法
  • ウィンドウの最大化・最小化のような単純な操作
  • 条件分岐やループなどを使った、Windows 上で複雑な動作(より専門的な記述が必要となります)

AutoHotkey #1: Install and Hello World(英語)

AutoHotkey の使い方

ダウンロード と インストール

  1. 提供元サイトへアクセスし、「Download」ボタンをクリックして表示される「Download v1.1」ボタンをクリックしてダウンロードします。
    USB メモリー等で持ち運べるポータブル版を利用する場合は、GitHub へアクセスし「AutoHotkey_1.1.37.02.zip」リンクをクリックしてダウンロードします。
    ※ ここでは「v1.1.37.02」を利用するものとします。
  2. ダウンロードしたセットアップファイル(AutoHotkey_1.1.37.02_setup.exe)からインストールします。
  3. 「Please select the type of installation you wish to perform.(実行するインストールタイプを選択してください)」画面が表示されます。
    「Express Installation」をクリックします。
  4. 「Installation complete.(インストール完了)」画面が表示されます。
    • View Changes & New Features
      本ソフトのヘルプファイルの「Changes & New Features(変更と新機能)」画面が表示されます。
    • View the Tutorial
      本ソフトのヘルプファイルの「Tutorial (quick start)(チュートリアル(クイックスタート))」画面が表示されます。
    • Run AutoHotkey
      本ソフトのヘルプファイルの「Welcome」画面が表示されます。
    • Exit
      セットアップ(インストール)を終了します。
    ※ 上3つの選択しではインストール完了画面が閉じられることはないため、最終的に一番下の選択肢である「Exit」をクリックすることになります。

使い方

設定サンプル

メッセージボックスを表示する
  1. メモ帳を開き、次のテキストを記入します。
    MsgBox, Hello AutoHotkey world
  2. 次のように指定して保存します。
    • ファイル名
      script.ahk
    • ファイルの種類
      すべてのファイル (*.*)
    • 文字コード
      UTF-8
  3. 保存した script.ahk をダブルクリックして実行すると、「Hello AutoHotkey world」ウィンドウが表示されます。
    「Hello AutoHotkey world」ウィンドウの表示

    「Hello AutoHotkey world」ウィンドウの表示


「Alt」+「4」キーでアプリケーションを終了する
アプリケーションの終了ホットキーとして Alt + F4 キーがあります。
Alt + F4 キーだと F4 キーが少し遠いので、4 キーで代用してしまおう、というものです。
  1. メモ帳を開き、次のテキストを記入します。
    !4::Send,!{F4}
    return
  2. 次のように指定して保存します。
    • ファイル名
      QuitAlt4.ahk
    • ファイルの種類
      すべてのファイル (*.*)
    • 文字コード
      UTF-8
  3. 保存した QuitAlt4.ahk をダブルクリックして実行すると、タスクトレイicon アイコンが表示されます。
    この状態が先ほど設定したスクリプトが有効な状態です。
    試しにいま開いているメモ帳をクリックして(アクティブにして)、Alt + 4 キーを押すとメモ帳が閉じられることを確認できます。
  4. 本スクリプトを終了するには、タスクトレイの icon アイコンの右クリックメニュー「Exit」から終了できます。

「無変換」+「J」キーで矢印キー左に動かす
矢印キーはキーボードの少し離れた位置にあるので、無変換キーを活用してなるべく手を動かさずに矢印キーを押すということを目的としたキーバインド(複数キーの組み合わせ)です。
  1. メモ帳を開き、次のテキストを記入します。
    vk1D & j::Send, {left}
  2. 次のように指定して保存します。
    • ファイル名
      ArrowLeft.ahk
    • ファイルの種類
      すべてのファイル (*.*)
    • 文字コード
      UTF-8
  3. 保存した ArrowLeft.ahk をダブルクリックして実行すると、タスクトレイicon アイコンが表示されます。
    この状態が先ほど設定したスクリプトが有効な状態です。
    試しにいま開いているメモ帳をクリックして(アクティブにして)、無変換 + J キーを押すとメモ帳内で点滅しているキャレットが左に移動することを確認できます。
  4. 本スクリプトを終了するには、タスクトレイの icon アイコンの右クリックメニュー「Exit」から終了できます。

実装サンプル - 複数設定する
複数のスクリプトを組み合わせて、実際に利用できる設定のサンプルです。
  1. メモ帳を開き、次のテキストを記入します。
    ; 無変換 + J キー ⇒ キー
    ; 無変換 + L キー ⇒ キー
    ; 無変換 + I キー ⇒ キー
    ; 無変換 + K キー ⇒ キー

    vk1D & j::Send, {Blind}{Left}
    vk1D & l::Send, {Blind}{Right}
    vk1D & i::Send, {Blind}{Up}
    vk1D & k::Send, {Blind}{Down}

    ; 無変換 + , キー ⇒ Home キー
    ; 無変換 + . キー ⇒ End キー
    vk1D & vkBC::Send, {Blind}{Home}
    vk1D & vkBE::Send, {Blind}{End}

    ; 無変換 + U キー ⇒ PageUp キー
    ; 無変換 + O キー ⇒ PageDown キー
    vk1D & u::Send, {Blind}{PgUp}
    vk1D & o::Send, {Blind}{PgDn}

    ; 無変換 + 1 キー ⇒ F1 キー
    ; 無変換 + 2 キー ⇒ F2 キー
    ; 無変換 + 3 キー ⇒ F3 キー
    ; 無変換 + 4 キー ⇒ F4 キー
    ; 無変換 + 5 キー ⇒ F5 キー
    ; 無変換 + 6 キー ⇒ F6 キー
    ; 無変換 + 7 キー ⇒ F7 キー
    ; 無変換 + 8 キー ⇒ F8 キー
    ; 無変換 + 9 キー ⇒ F9 キー
    ; 無変換 + 0 キー ⇒ F10 キー
    vk1D & 1::Send, {Blind}{F1}
    vk1D & 2::Send, {Blind}{F2}
    vk1D & 3::Send, {Blind}{F3}
    vk1D & 4::Send, {Blind}{F4}
    vk1D & 5::Send, {Blind}{F5}
    vk1D & 6::Send, {Blind}{F6}
    vk1D & 7::Send, {Blind}{F7}
    vk1D & 8::Send, {Blind}{F8}
    vk1D & 9::Send, {Blind}{F9}
    vk1D & 0::Send, {Blind}{F10}
    ※ 無変換キーとの組み合わせで別のキーを実行できるようにするスクリプトです。
    ※ {Blind} を追加すると他のキーとの組み合わせの動作も可能となります。例えばブラウザーでページを開いているときに Alt + 無変換 + J キーを押して前のページに移動可能となります。
    ※ ; の行はわかりやすいように補足したコメント行なので削除したり、自分なりのコメントに書き換えても動作は変わりません。
    実装サンプル

    実装サンプル

  2. 次のように指定して保存します。
    • ファイル名
      AutoHotkey.ahk
    • ファイルの種類
      すべてのファイル (*.*)
    • 文字コード
      UTF-8
  3. 保存した AutoHotkey.ahk をダブルクリックして実行すると、タスクトレイicon アイコンが表示されます。
    この状態が先ほど設定したスクリプトが有効な状態です。
  4. 本スクリプトを終了するには、タスクトレイの icon アイコンの右クリックメニュー「Exit」から終了できます。

キーリスト

制御キー
※ v1.1.27.00 よりキーが変更となり、例えば無変換キーは vk1Dsc07B ⇒ vk1D に変更となり、最初の vk から始まる4文字のみが有効となり、sc 以下は不要となりました。

修飾キー

修飾キーの使い方
修飾キーは、次のように記述します。
#z::Run www.autohotkey.com
Windows + Z キーを押すと、ブラウザーで www.autohotkey.com を開きます。

修飾キーを複数組み合わせる場合は、次のように記述します。
^!n::
IfWinExist 無題 - メモ帳
WinActivate
else
Run Notepad
Ctrl + Alt + N キーを押すと、「無題 - メモ帳」というタイトルのウィンドウがあればアクティブにし、なければメモ帳を起動します。

更新履歴

機械翻訳で日本語にしています。
v2 系
Version 2.0.19
(2025/01/25)
  • RegEx コンパイル中のメモリ範囲外アクセスを修正しました。
  • 送信後に外部リリースされた修飾子が「復元」されないように修正しました。
  • モーダル ダイアログ ボックスが InputHook イベントを抑制する問題を修正しました。
  • 一部のケースで、キー リピートでキーが押された後にキー アップが誤って抑制される問題を修正しました。
  • アルファ チャネルのない大きなアイコンをロードするときに発生する重大なエラーを修正しました。
  • ClassNN を判別できない場合に、MouseGetPos がコントロールを空白にしてスローしないように修正しました。
  • オプションを検証するように FileSelect を修正しました。
  • 一部のケースで、予期しない Catch/Else/Finally/Until がエラーとしてフラグ付けされない問題を修正しました。
  • Else が返された場合に Try/Catch/Else/Finally が Finally を実行しない問題を修正しました。
  • 太い矢印関数を含む if-else-if-else-if の実行を修正しました。

Version 2.0.18
(2024/07/06)
  • GetClipboardData が NULL を返すときに A_Clipboard がサイレント終了する問題を修正しました。
  • セッターがない場合に a.b のゲッターを呼び出すように a.b[c] := d を修正しました。

Version 2.0.17
(2024/06/05)
  • Descolada による WinText パラメータの最適化を実装しました。[PR #335 ]
  • UnsetError メッセージを変更し、変数名の後に「(グローバルと同じ名前)」を追加する代わりに、グローバル宣言を提案するようにしました。
  • UnsetError との一貫性を保つために VarUnset 警告メッセージを変更しました。
  • 変数が設定されていない場合に TypeError ではなく UnsetError をスローするように増分/減分演算子を修正しました。
  • プロパティが自身を削除する場合にプロパティ名を安全に割り当てるように OwnProps を修正しました。
  • ブロックのない制御フロー ステートメントの下の矢印関数で機能するようにブレークポイントを修正しました。
  • 関数からステップアウトするときに呼び出しの行でデバッガーが中断するように修正しました。(この動作はリビジョン 31 で追加され、v1.1.30.00 で壊れました。)
  • 新しいスレッドとして呼び出された関数からステップアウトすると、次の行に到達するまで待機するのではなく、中断された行で中断されるようになりました。
  • DBGp property_get または context_get の評価中に無視される一時ブレークポイントを削除しないようにデバッガーを修正しました。

v1 系
Version 1.1.37.02
(2024/03/16)
  • 一部の Alt コンボをアクティブにするために LWin::Alt を使用できない問題を修正しました。
  • マウスの AltTab ホットキーが、1:: for 1 や WheelDown::AltTab などのプレフィックス ホットキーの実行を抑制しない問題を修正しました。 (v1.1.37.00で壊れました)
  • SendInput によって押された修飾子を認識しないフック ホットキーを修正しました。
  • 抑制された Alt/Ctrl/Shift/Win ホットキーに影響を与えるいくつかの問題を修正しました。
    • *LCtrl:: アクティブ ウィンドウから LCtrl をブロックしましたが、システムは Ctrl キーが押されていると判断するため、Alt キーとキーの組み合わせの送信は失敗し、そのため WM_SYSKEYDOWN の代わりに WM_KEYDOWN が送信されます。
    • *LAlt:: により、システムは以前の {LAlt DownR} を忘れてしまうため、LAlt が抑制されていたとしても、LAlt が物理的にダウンしている間は、LCtrl::LAlt などの再マッピングは正しく動作しません。
    • システムの修飾キーの低レベル追跡が論理状態と一致しないその他の潜在的な問題。
  • A_Clipboard が純粋な数値の割り当てを無視する問題を修正しました。
  • RAlt (AltGr ではない場合) を解放した後に SendInput が LCtrl を解放できない問題を修正しました。
  • 新しいスレッドがクリティカルによるメッセージ チェックを防止できない問題を修正しました。

フィードバック

ユーザーレビュー

  • 5

    プログラミングに慣れていないと少し難しいが、とても自由度が高い

    kasasa
    kasasa
    18
    Windows 11

    プログラミングに慣れていないと少し難しいが、とても自由度が高い
    【良かった点】
    ・自分でスクリプトを書くので、設定の自由度がとても高い。(ホットキーの条件を細かく指定したり、特定のファイルを実行したり)
    ・スクリプトをコンパイルし、exeファイルにすることで、AutoHotkeyがインストールされていない環境でも使用できる。
    【気になった点】
    ・自分でスクリプトを書くので、プログラミングに慣れていない人には難しい。(「特定のキーが押されたときに特定のキーを押す」程度のものなら難しくないし、他人のスクリプトをそのまま使用するだけでも便利にできると思う)
    ・スクリプトの書き方がほかの言語と比べて特殊なので、プログラミングに慣れていても少し使いづらく感じることがある。

    2人が参考になったと回答しています。
    このレビューは参考になりましたか?
  • 5

    バージョン 1.1.37.01 を使用中です

    Mimic
    Mimic
    25
    Windows 10

    バージョン 1.1.37.01 を使用中です。

    【良かった点】
    (1) Windowsキーとキーボードの数字を同時押しでタスクバーにピン留めしたソフトを起動できます。ところがWindowsキーが押しにくい位置のキーボードがあったりします。そういった場合にこのソフトが活躍します。

    例えば、「SHIFTキー と F の同時押し」でWindowsキーと数字の同時押しが実現できたりします。

    (2)解説サイトが沢山あるので独学でどうにかなる点

    【気になった点】
    バージョン1と2でソフトが結構違うようなので、解説サイトがどちらのバージョンをベースにしているか確認が必要です。

    3人が参考になったと回答しています。
    このレビューは参考になりましたか?
  • コメント

    > 「無変換」+「J」キーで矢印キー左に動かす

    username
    username
    1
    Windows 11

    > 「無変換」+「J」キーで矢印キー左に動かす
    >
    > 試しにいま開いているメモ帳をクリックして(アクティブにして)、
    > 無変換 + J キーを押すとメモ帳が閉じられることを確認できます。

    「カーソルが左に動く」ではないでしょうか?

    8人が参考になったと回答しています。
    このレビューは参考になりましたか?