AutoHotkeyでAlt+Tabを制御する

もしAlt+Tabを使用時に何かしらのホットキーを追加したい場合や特定のウィンドウ時ではAlt+Tabを無効にしたい場合、それらはAutoHotkeyで制御できる。またAlt+Tabでタスクビューを表示するののではなく別のキーで実行したい場合もAutoHotkeyでは変更可能。

Alt+Tab使用時の制御

もしAlt+Tabがアクティブな状態で何かしらのホットキーを追加させたい場合WinActive("ahk_class XamlExplorerHostIslandWindow")を使うことでコントロールできる。例えばAlt+Tab使用時にウィンドウを閉じたい場合デフォルトではDeleteを押せば閉じることができる。これを別のキーに置き換える場合次のようにする。

#HotIf WinActive("ahk_class XamlExplorerHostIslandWindow")
    BackSpace:: Delete
#HotIf

Alt+Tab時の制御はWinActive("ahk_class XamlExplorerHostIslandWindow")を使うことで制御可能。

Alt+Tabを別のキーに置き換える

例えば左のCtrlキーでタスクビューを呼び出し[]で移動するショートカットを作りたい場合下記のようにする。

; Alt Tab
RCtrl::AltTab
#HotIf WinActive("ahk_class XamlExplorerHostIslandWindow")
    RCtrl & [::ShiftAltTab

    RCtrl & ]::AltTab
#HotIf

特定のウィンドウでAlt+Tabを無効化

特定のウィンドウだけAlt+Tabを無効化させたい場合Returnを使うことで無効化が可能。例えば下記のコードはFirefox上ではタスクビューが無効化されている。

; Firefox
#HotIf WinActive("ahk_exe firefox.exe")
    ^+N:: Send "^+P"
    ^+P:: Return

    LAlt & Tab:: Return
#HotIf

WinActiveとは指定したウィンドウがアクティブであるかどうか調べるもの。そして対象のウィンドウの情報を調べたい場合Window spyを使うことでその対象のウィンドウ情報を調べることができる。

Window spyの呼び出し方は簡単でAutoHotkeyをインストールしたときにすでにインストールされているのでWindow spyと調べると出てくる。起動すると【Window Title, Class and Process】という項目から.exe情報をそのままコピーして上記のように埋め込むだけ。