どーもヤマジです。
以前【特定のアプリを開いている時だけ有効になるショートカットキー】という記事を書いたのですが、今回はその逆バージョンです。
つまり、この記事では特定のアプリ使用時はAHKのショートカットキーが無効になる方法をご紹介します。
やり方
#IfWinNotActive,ahk_exe アプリ名.exe
入力するキー1 & 入力するキー2::
Send, {出力するキー}
return例えば、私の場合
- blenderを開いていない時だけ
- AltキーとSを同時押ししたら
- ß (ドイツ語で使われる文字)を押したことにする
という感じにしたいので、この場合のコードは
#IfWinNotActive,ahk_exe blender.exe ;blenderを開いていない時だけ
sc038 & s:: ;AltキーとSを同時押ししたら
Send, {ß} ;ßを押したことにする
returnになります。
上述したコードの「ahk_exe アプリ名.exe」ですが、当然テキトーに書くと正しく動作しませんので、AutoHotkeyが認識している通りにアプリ名を記述する必要があります。
AHKのWindow Spyを開く
- タスクバー内のAutoHotkeyアイコンを右クリック
- メニューから[Window Spy]をクリック

ショートカットキーを動作させたくないアプリを開き、Window Spyで名称を確認
- ショートカットキーを動作させたいアプリを開き、そのアプリウィンドウのどこかをクリック
- Window Spyの上から3行目の[ahk_exe ~.exe]が、このアプリのAutoHotkeyにおいての名称なので、これをコピペして今回のコードにぶち込む(この例では、パワポの名称が表示されている)

以上です。
今回の記事は、Blenderで使われているショートカットキー(Alt+S=法線に沿った拡大縮小)が、私が普段使っているAHKのショートカットキーAlt+S=ドイツ語の特殊記号「ß」入力)と被っていたせいで、Blenderの機能が正常に使えなかったため、書くことにしました。
AHKで設定されたショートカットキーは強力なので、別のソフトで同じ組み合わせのショートカットキーがあっても、今回の除外コードを設定していないと、AHKの方が優先されてしまいます。
【特定のアプリを開いている時だけ有効になるショートカットキー】のコードと組み合わせて、快適なショートカットライフをお過ごしください。
それでは、最後まで読んでいただきありがとうございました。



