ホットキーの上書きと無効化

提供: AutoHotkey Wiki
移動: 案内検索
リファレンス > その他解説 > ホットキーの上書きと無効化

AutoHokteyは他のアプリケーションのホットキーを上書きしたり無効化したりすることが出来る。

グローバルなホットキーの上書き[編集]

アクティブなアプリケーションに関係なく動くホットキーで、 例えばウィンドウズ標準のホットキーの Win+E(エクスプローラ起動) がこれに該当する。

このようなホットキーを上書きする場合は、以下のように単にAutoHotkey でホットキーを設定するだけでよい。

#E::
  MsgBox, このホットキーはAHKに乗っ取られています!
  Return

「ファイル名を指定して実行」ダイアログのWin+Rも同様にできる。ここでは無効化をしてみる。

#R::Return

また、ウィンドウズキーの単独押下だけを無効化したいといった場合も同様。以下の例は単独押下だけを無効化して、他のWin+~ 系のホットキーは有効なままでとなる。

LWin::Return
RWin::Return

特定アプリケーションのホットキーを上書きする[編集]

メモ帳を例に考えてみる。 メモ帳にはCtrl+Pで印刷するショートカットキーが設定されている。これはあまり使わないので無効化したいといった場合は以下のようにする。

#IfWinActive, ahk_class Notepad
^P::Return

全てのアプリケーションの Ctrl+P が無効化されてしまうのはまずいので、#IfWinAcitve を利用してメモ帳だけにホットキーが発動するようにする。

あるいは印刷のホットキーを変えたいといった場合は、本来のホットキーを無効化して別のホットキーを設定し、そちらで本来のショートカットキーを送るようにする。 こうすることでキーアサイン自体を変えてしまうことも可能となる。

#IfWinActive, ahk_class Notepad
^P::Return		; 元々のキーを無効化して
^Pause::Send, ^p	; 別のキーで発動するようにする

Remarks[編集]

Win+L および Win+U を除き、ウィンドウズのホットキーはレジストリを以下のように書き換えることで無効化出来る。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
NoWinKeys REG_DWORD 0x00000001 (1)