- ダウンロード
- 使い方
- 設定サンプル
1-1. メッセージボックスを表示する
1-2. 「Alt」+「4」キーでアプリケーションを終了する
1-3. 「無変換」+「J」キーで矢印キー左に動かす
1-4. 実装サンプル - 複数設定する - キーリスト
2-1. 制御キー
2-2. 修飾キー - 更新履歴
3-1. v2 系
3-2. v1 系 - フィードバック
- 設定サンプル
- ユーザーレビューを見る
- ユーザーレビューを投稿する
こういうホットキーがあればいいのに!を実現できるソフト
AutoHotkey
- 海外
- 日本語✕
- 寄付歓迎
- 対応OS:
- Windows Vista/7/8/8.1/10
- バージョン:
- 1.1.37.01 / 2.0.10(2023/09/24)
- 価格:
- 無料
Windows のキーの組み合わせに、「何かのキー」を割り当てられるソフトです。
いつも使っているキーボード操作をより便利にしたい、マウスをなるべく使わずにキーボードで完結したい、といった場合に役立ちます。
動作の命令を記述する ” スクリプト ”を作成することで、本ソフトはスクリプトを読み込んで実行します。
スクリプトを作成することで、次のようなキーの置き換えや動作を設定、実行できるようになります。
- 矢印キーを置き換えてホームポジションの近くに配置
- あまり有効に利用されていないような無変換キーや変換キーを組み合わせた有効活用法
- ウィンドウの最大化・最小化のような単純な操作
- 条件分岐やループなどを使った、Windows 上で複雑な動作(より専門的な記述が必要となります)
- 提供元:
- Chris Mallet
AutoHotkey #1: Install and Hello World(英語)
AutoHotkey の使い方
ダウンロード
- 提供元サイトのダウンロードページへアクセスし、「v1.1.37.01」ボタンをクリックしてダウンロードします。
※ USB メモリー等で持ち運べるポータブル版を利用する場合は、「v1.1.37.01」ボタン下の「v1.1.37.01」リンクをクリックしてダウンロードします。
※ 本ソフトの v2.0.10 のインストーラーは VirusTotal で好ましくない結果が出ているため、ここでは念のため「v1.1.37.01」を利用するものとします。 - ダウンロードしたセットアップファイル(AutoHotkey_1.1.37.01_setup.exe)からインストールします。
- 「Please select the type of installation you wish to perform.(実行するインストールタイプを選択してください)」画面が表示されます。
「Express Installation」をクリックします。 - 「Installation complete.(インストール完了)」画面が表示されます。
- View Changes & New Features
本ソフトのヘルプファイルの「Changes & New Features(変更と新機能)」画面が表示されます。 - View the Tutorial
本ソフトのヘルプファイルの「Tutorial (quick start)(チュートリアル(クイックスタート))」画面が表示されます。 - Run AutoHotkey
本ソフトのヘルプファイルの「Welcome」画面が表示されます。 - Exit
セットアップ(インストール)を終了します。
※ 上3つの選択しではインストール完了画面が閉じられることはないため、最終的に一番下の選択肢である「Exit」をクリックすることになります。 - View Changes & New Features
使い方
設定サンプル
メッセージボックスを表示する
- メモ帳を開き、次のテキストを記入します。
MsgBox, Hello AutoHotkey world
- 次のように指定して保存します。
- ファイル名
script.ahk - ファイルの種類
すべてのファイル (*.*) - 文字コード
UTF-8
- ファイル名
- 保存した script.ahk をダブルクリックして実行すると、「Hello AutoHotkey world」ウィンドウが表示されます。
「Hello AutoHotkey world」ウィンドウの表示
「Alt」+「4」キーでアプリケーションを終了する
アプリケーションの終了ホットキーとして Alt + F4 キーがあります。Alt + F4 キーだと F4 キーが少し遠いので、4 キーで代用してしまおう、というものです。
- メモ帳を開き、次のテキストを記入します。
!4::Send,!{F4}
return - 次のように指定して保存します。
- ファイル名
QuitAlt4.ahk - ファイルの種類
すべてのファイル (*.*) - 文字コード
UTF-8
- ファイル名
- 保存した QuitAlt4.ahk をダブルクリックして実行すると、タスクトレイに
アイコンが表示されます。
この状態が先ほど設定したスクリプトが有効な状態です。
試しにいま開いているメモ帳をクリックして(アクティブにして)、Alt + 4 キーを押すとメモ帳が閉じられることを確認できます。 - 本スクリプトを終了するには、タスクトレイの
アイコンの右クリックメニュー「Exit」から終了できます。
「無変換」+「J」キーで矢印キー左に動かす
矢印キーはキーボードの少し離れた位置にあるので、無変換キーを活用してなるべく手を動かさずに矢印キーを押すということを目的としたキーバインド(複数キーの組み合わせ)です。- メモ帳を開き、次のテキストを記入します。
vk1D & j::Send, {left}
- 次のように指定して保存します。
- ファイル名
ArrowLeft.ahk - ファイルの種類
すべてのファイル (*.*) - 文字コード
UTF-8
- ファイル名
- 保存した ArrowLeft.ahk をダブルクリックして実行すると、タスクトレイに
アイコンが表示されます。
この状態が先ほど設定したスクリプトが有効な状態です。
試しにいま開いているメモ帳をクリックして(アクティブにして)、無変換 + J キーを押すとメモ帳内で点滅しているキャレットが左に移動することを確認できます。 - 本スクリプトを終了するには、タスクトレイの
アイコンの右クリックメニュー「Exit」から終了できます。
実装サンプル - 複数設定する
複数のスクリプトを組み合わせて、実際に利用できる設定のサンプルです。- メモ帳を開き、次のテキストを記入します。
; 無変換 + 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 キーを押して前のページに移動可能となります。
※ ; の行はわかりやすいように補足したコメント行なので削除したり、自分なりのコメントに書き換えても動作は変わりません。実装サンプル
- 次のように指定して保存します。
- ファイル名
AutoHotkey.ahk - ファイルの種類
すべてのファイル (*.*) - 文字コード
UTF-8
- ファイル名
- 保存した AutoHotkey.ahk をダブルクリックして実行すると、タスクトレイに
アイコンが表示されます。
この状態が先ほど設定したスクリプトが有効な状態です。 - 本スクリプトを終了するには、タスクトレイの
アイコンの右クリックメニュー「Exit」から終了できます。
キーリスト
制御キー
キー | キーコード |
半角/全角 | vkF3 または vkF4 |
変換 | vk1C |
無変換 | vk1D |
[カタカナ/ひらがな/ローマ字] | vkF2 |
※ v1.1.27.00 よりキーが変更となり、例えば無変換キーは vk1Dsc07B ⇒ vk1D に変更となり、最初の vk から始まる4文字のみが有効となり、sc 以下は不要となりました。
修飾キー
キー | キーコード |
Windows | # |
Alt | ! |
Ctrl | ^ |
Shift | + |
修飾キーの使い方
修飾キーは、次のように記述します。#z::Run www.autohotkey.comWindows + Z キーを押すと、ブラウザーで www.autohotkey.com を開きます。
修飾キーを複数組み合わせる場合は、次のように記述します。
^!n::Ctrl + Alt + N キーを押すと、「無題 - メモ帳」というタイトルのウィンドウがあればアクティブにし、なければメモ帳を起動します。
IfWinExist 無題 - メモ帳
WinActivate
else
Run Notepad
更新履歴
※ 機械翻訳で日本語にしています。
v2 系
Version 2.0.10 (2023/09/24)
- #HotIf の後に名前付き関数のホットキーを使用するとクラッシュする問題を修正しました。
- 行が継続しないようにドットで終わる数値リテラルを修正しました。
- 連鎖配列のインデックス付けで動作するように事前のインクリメント/デクリメントを修正しました。
- OnEvent にのみ適用されるスタイルを適用する OnNotify/OnCommand を修正しました。
- emptydir&yqn;* 使用時に FileExist/DirExist でハンドルがリークする問題を修正しました。
- ファイルのみが一致する場合にハンドルがリークする DirExist を修正しました。
Version 2.0.9 (2023/09/17)
- X オプションを使用したホットストリングのスタックを修正しました。
- 関数がスタックの一番下にある場合、デバッガーがローカル変数をリストしない問題を修正しました。
- デバッガーの呼び出しスタックに表示されるように Gui スレッドを修正しました。
- ExitApp でスタック オーバーフローを引き起こす &/ByRef のいくつかの組み合わせを修正しました。
Version 2.0.8 (2023/09/11)
- ByRef パラメータが設定されていない場合、呼び出し元の VarRef にデフォルト値を誤って割り当てる問題を修正しました。
- 抑制された Alt/Ctrl/Shift/Win ホットキーに影響を与えるいくつかの問題を修正しました。
- *LCtrl:: アクティブ ウィンドウから LCtrl をブロックしましたが、システムは Ctrl キーが押されていると判断するため、Alt キーとキーの組み合わせの送信は失敗し、そのため WM_SYSKEYDOWN の代わりに WM_KEYDOWN が送信されます。
- *LAlt:: により、システムは以前の {LAlt DownR} を忘れてしまうため、LAlt が抑制されていたとしても、LAlt が物理的にダウンしている間は、LCtrl::LAlt などの再マッピングは正しく動作しません。
- システムの修飾キーの低レベル追跡が論理状態と一致しないその他の潜在的な問題。
- 継続セクションに影響を与えるいくつかの問題を修正しました。
- Join オプションのエスケープ シーケンスは 2 回変換され、```` は 2 つではなく 1 つのリテラル ` になり、``n は改行になりました。
- 継続セクションが同じタイプの引用符で囲まれており、` オプションがない場合、`" または `' は、リテラルの引用符を生成する代わりに、リテラルのバックティックを生成して文字列を終了します。
- 継続セクション内の引用符とバックティックの自動エスケープを最適化しました。
- 太い矢印関数を含む行で重複を返すbreakpoint_list (デバッガー) を修正しました。
- +BackgroundDefault が Gui の BackColor プロパティをオーバーライドできない問題を修正しました。
v1 系
Version 1.1.37.01 (2023/07/08)
- 競合状態によりホットキーが起動しない問題を修正しました。Send や GetKeyState などの修飾子ホットキーの ~*RWin:: 呼び出しが早すぎると、OS が RWin がダウンしていないことを報告する可能性があるため、フックの修飾子の状態が「修正」され、ホットキーが誤って起動されるか、起動に失敗します。これは、別のキーボード フックがスクリプト自体のフックよりも最近にインストールされた場合にのみ発生する可能性があります。その場合、OS は、他のフックのスレッドが再開して戻るまでキーの状態を更新しないためです。
- #If で設定された Last Found Window を使用するようにホットストリングを修正しました。
- MouseGetPos、ControlClick、ContextMenu Gui イベント、および DropFile Gui イベントが、実際にはコントロールの 1 ピクセル下または右にある特定のポイントでコントロールを誤って検出する問題を修正しました。
- OS がフックを自動的にアンインストールした場合、キーボードまたはマウスのフックを再インストールしようとしても失敗する問題を修正しました。そのような試みを行う前に、特定の条件を満たす必要があります。
Version 1.1.37.00 (2023/07/02)
- 大きな整数を VT_R8 (浮動小数点) ではなく VT_I8 として渡すように COM メソッドとプロパティの呼び出しを変更したため、元の型と精度が保持されます。32 ビット範囲の整数は引き続き VT_I4 として渡されます。
- IDispatch でラップされた AutoHotkey オブジェクトを使用した 2 変数列挙子 (for ループ) のサポートが追加されました。オブジェクトを呼び出すスクリプトとオブジェクト自体は、サポートされている AutoHotkey バージョンを実行している必要があります。
- 着信 COM 呼び出しで ByRef VARIANT のサポートが追加されました。VT_BYREF|VT_VARIANT バリアント型を持つ ComObject ラッパーを受け取る代わりに、スクリプトは通常の ByRef パラメーターと互換性のある一時変数を受け取ります。
- 受信 COM 呼び出しでパラメーターを省略するためのサポートが追加されました。IDispatch では、値 DISP_E_PARAMNOTFOUND を持つ VT_ERROR 型の VARIANT を指定することで、パラメーターを省略できます。これらの値は、オブジェクトにラップされるのではなく、自動的に変換されるようになりました。逆変換は、以前のバージョンで COM メソッドを呼び出すときにすでに行われていました。
- コードサイズを修正し VerCompare(a, ">" b)、わずかに縮小しました。
- 他のエラーと矛盾しないように、AltTab 関連のロード時間エラーを修正しました。
- ComObject ラッパーがオブジェクト/COM 経由で呼び出された場合に正しく伝播されないことによってスローされるエラーを修正しました。
- ^ シンボルと ! をホットキーとして設定できるようにホットキー GUI コントロールを修正しました+。
- 値がシンボルに設定されている場合に修飾子を含めるようにホットキー コントロールを修正しました。
- 固定メニュー メニュー挿入で追加された項目を上書き追加します。
- 単一の文字を使用した場合の、InputHook.KeyOpt() の潜在的な誤動作を修正しました。
・オプションの削除は、対応する SC に影響を及ぼさない可能性があります。
・オプションは sc000 にも適用される可能性があります。 - #If で無効にすると、 や などのホットキーのセットが if 単独のリリース a & b:: を抑制できないというカスタム コンボのバグを修正しました。a:: a up:: a a::
- キーダウン イベントがホットキーによって正しく抑制されるが、SendLevel > 0 で追加のキーダウンを送信すると、送信されたイベントが #InputLevel により無視された場合でも、後続のキーアップが抑制されなくなるバグを修正しました。
- ifが存在しても #If によって無効化される a & b up:: のを抑制しない問題を修正しました。b a & b::
- 組み込み IDispatch のキャッシュされた COM プロパティ名の割り当てが最適化されました。
- AutoHotkey のビルド構成を DLL としてサポートするようにコードがリファクタリングされました。
フィードバック
- AutoHotkey Community
https://www.autohotkey.com/boards/