そのアプリだけの近道に。AutoHotkeyのキー割り当てを絞る

ONLY THIS APP。丸型銀縁サングラスのパグが、前面のアプリだけで動くキーを示すドット絵。

メモ帳には、決まった一文をひと押しで入れたい。でも、メールを書いているときまで同じ動きになると困ります。キーに便利な動きを足すなら、「どのアプリで使うか」も一緒に決めておきたいところです。

今回はまず、メモ帳を選んだときだけ小さな確認表示を出します。使う場所を確かめてから、「確認しました。」と入力する動きへ替えてみましょう。

合図が出るのはメモ帳だけ
メモ帳が手前
別アプリ
メモ帳
ここでは
動きますOK
Ctrl+Alt+J
合図が出る
別アプリが手前
メモ帳
別アプリ
宛先
Ctrl+Alt+J
この合図は出ない
最初は確認表示で試します。メモ帳が背後に開いているだけでは、この割り当ては動きません。

WindowsでAutoHotkey v2を使っている人向けです。AutoHotkeyは、キーを押したときの動きを自分で決められるソフト。その命令を書くファイルをスクリプトと呼び、ファイル名の末尾を.ahkにします。この記事ではインストール済みのv2で試します。v1用の書き方とは混ぜません。

目次

1.テスト用の命令を、別ファイルに保存する

普段の割り当てをすぐ書き換えず、まず短いテスト用ファイルを作ります。メモ帳などの文字を編集できるソフトを開き、次のコードを貼り付けてください。

#Requires AutoHotkey v2.0

#HotIf WinActive("ahk_exe notepad.exe")
^!j::MsgBox "ここでは動きます"
#HotIf

名前をapp-scope-test.ahkにして保存します。日本語が文字化けしないよう、保存時の文字コードは「UTF-8 BOM付き」を選びます。ファイル名の最後が.ahk.txtになっていないかも見ておきましょう。[4]

この例で使うキーはCtrl+Alt+Jです。メモ帳の中では、もともとの同じキーの動きを置き換え得ます。自分が普段使う操作と重なるなら、空いている別の組合せで試してください。

2.メモ帳を選んで、キーを押す

  1. 保存したapp-scope-test.ahkをダブルクリックして、命令を動かします。
  2. メモ帳の文書をクリックします。いま操作するアプリをメモ帳にするためです。
  3. Ctrl+Alt+Jを押します。「ここでは動きます」と表示されれば、メモ帳を選んだことを判定できています。
  4. その表示を閉じ、別アプリをクリックしてから同じキーを押します。今度は、この確認表示が出ないかを見ます。

メモ帳を閉じる必要はありません。背後に開いたままでも、別アプリを操作している間は、この割り当てを使わないようにしています。ここまでが最初のテストです。[1][2]

3.合図が出たら、一文を入力する動きへ替える

使う場所を絞れたら、先ほど保存したapp-scope-test.ahkを編集用に開きます。これは命令を書いたファイルで、文字入力を試すメモ帳の文書とは別です。確認表示を出す一行を替えます。MsgBoxは「メッセージを出す」、SendTextは「文字をそのまま入力先へ送る」という命令です。全体を次のコードへ入れ替えてください。先ほどのコードに続けて足すのではありません。[6]

#Requires AutoHotkey v2.0

#HotIf WinActive("ahk_exe notepad.exe")
^!j::SendText "確認しました。"
#HotIf
  1. ファイルを上書き保存します。
  2. 通知領域(タスクバーの小さなアイコンが並ぶ場所)で、標準の緑色の「H」アイコンを探します。見えなければ、隠れたアイコンの一覧も開きます。マウスを重ねて、テスト用ファイルの名前を確かめます。そのアイコンを右クリックし、「Reload Script」で再読み込みします。保存しただけでは、動いている命令は更新されません。[4]
  3. メモ帳で、消してよい空の文書を開きます。
  4. 文字を入れたい場所をクリックしてから、Ctrl+Alt+Jを押します。「確認しました。」が入るか確かめます。
替えた命令を、動きに反映する。
1
命令の一行を替える
app-scope-test.ahk
MsgBoxSendText
使う場所の条件は、そのまま
2
保存 → 再読み込み
3
メモ帳の入力位置を選ぶ
メモ帳
確認しました。
同じキーを押す
Ctrl+Alt+J
保存だけでは更新されません。テスト用スクリプトを再読み込みしてから、メモ帳で入力を試します。

この試し方なら、まず「メモ帳かどうか」、次に「文字を入れられるか」を分けて見られます。既存の原稿や送信画面ではなく、消してよい文書で試すのがおすすめです。入力欄を選んでいなければ、アプリが合っていても思った場所には入りません。

仕組みは「使う場所」と「すること」の組合せ

一度動きを追ってから、コードの中身を見てみます。#HotIf WinActive("ahk_exe notepad.exe")は、「メモ帳をいま操作しているときだけ」という条件です。WinActiveは、指定したウィンドウが操作中か調べる命令。ahk_exe notepad.exeは、メモ帳を実行ファイル名で指定しています。[1][2][3]

その下の^!jがキーの組合せで、^がCtrl、!がAlt。::の右が、押したときにすることです。最初は確認表示、その後は文字入力へ、一行だけ役割を替えました。[5]

最後の、条件を書かない#HotIfも残します。これは「これより下で新しく決めるキーには、メモ帳という条件を付けない」という区切りです。それまでの割り当てを削除する行ではありません。[1]

別のアプリで使うなら、実行ファイル名を調べる

メモ帳での試験が終わってから、普段のアプリへ広げます。画面に見える製品名と、コードへ書く実行ファイル名が同じとは限らないため、AutoHotkey付属の「Window Spy」で確認します。これは、ウィンドウの名前や所属アプリを調べる道具です。[3][4]

  1. スクリプトのアイコンを右クリックして「Window Spy」を開きます。
  2. 「Follow Mouse」を外します。初期状態ではマウスの下、外すといま操作しているウィンドウを調べます。
  3. 使いたいアプリを前に出し、Window Spyに表示されるahk_exeの後ろの実行ファイル名だけをコピーします。例えばahk_exe notepad.exeなら、コピーするのはnotepad.exeです。
  4. コードのnotepad.exeをコピーした実行ファイル名へ替え、まず確認表示のテストからやり直します。

補足:さらに使う場所を絞りたい人へ

実行ファイル名の変更までで、アプリ単位の使い分けは試せます。ここからは、同じアプリの中でも使う画面を絞りたい場合の補足です。

実行ファイル名で指定すると、同じアプリの別文書やダイアログも対象になり得ます。文書名で絞りたいならタイトル、画面の種類でも絞りたいならahk_class(ウィンドウの種類を識別する名前)を、実際に調べた値で組み合わせます。アプリを選ぶ条件だけでは、検索欄と本文欄まで区別できません。[3]

#HotIf WinActive("ahk_exe 実際の実行ファイル名 ahk_class 実際のクラス名")

上は絞り方の例で、そのまま使う完成コードではありません。また、WinActiveをWinExistへ替えると、背後に開いているだけでも条件を満たし得ます。今回のように、いま操作しているアプリだけで使いたいときは区別してください。[1][2]

条件はコード上で次の#HotIfまで続きます。波括弧で囲っても、この条件の範囲は変わりません。[1]

うまくいかないときは、最初の合図へ戻る

迷ったら、テスト用ファイルを最初の確認表示のコードへ戻して再読み込みします。メモ帳を選び、キーを押して、どこまでできるか見直しましょう。

合図から、確認する場所へ。
ここでは動きますOK
最初の合図は出た?
出ない
起動と対象
実行・再読み込み
対象アプリ
出る
命令と入力先
差し替え
再読み込み・入力欄
最初のコードへ戻して再読み込みし、メモ帳で試します。合図が出れば、アプリの判定は通っています。
  • 最初の確認表示が出ない:ファイルを実行したか、編集後に再読み込みしたか、メモ帳を選んでいるかを確認します。別アプリへ替えた後なら、調べた実行ファイル名も見直します。
  • 確認表示は出たが、文章へ替えると入力されない:SendTextの行へ差し替えたか、再読み込みしたか、文字を受け取れる欄を選んだかを確認します。アプリの入力制限や権限の違いもあり得るため、むやみに権限を上げず、通常権限のメモ帳で試験をやり直します。[6][7]
  • 別アプリでも反応する:同じキーを条件なしで設定した行や、別スクリプト、アプリ自身の割り当ても確認します。この条件が対象外でも、それらまで止まるわけではありません。[1]

条件を調べる部分へ、ファイルコピーや通信のような時間のかかる処理は入れません。キー入力が待たされる原因になり得ます。試験を終えるときは、スクリプトのアイコンを右クリックし「Exit」で終了します。「Reload Script」は更新、「Exit」は停止、と分けて覚えると戻りやすくなります。[1][4]

使いたい場所を先に確かめ、できたら動きを一つ替える。便利なキーを増やすときも、この順で試すと、ほかのアプリへの影響を分けて確かめられます。

参照した公式資料

  1. AutoHotkey v2:#HotIf
  2. AutoHotkey v2:WinActive
  3. AutoHotkey v2:WinTitle
  4. AutoHotkey v2:Using the Program
  5. AutoHotkey v2:Hotkeys
  6. AutoHotkey v2:Send / SendText
  7. AutoHotkey v2:FAQ

2026年11月3日確認。AutoHotkey公式ドキュメントのv2ブランチに基づきます。識別情報や入力の受け取り方は、使用するアプリ・版・設定で確認してください。

目次