同じキーの組み合わせに対して、Gmailのウィンドウがアクティブな時と、youtubeのウィンドウがアクティブな時で出力するショートカットを切り替えたい思ったんで、#IfWinActiveで切り替えられる用にしようとしたんだが、地味に嵌ったんでメモ。
やったこと
下記のようにF17+→キーに対して、Gmailを開いてるchromeウィンドウ、その他のchrome、chrome以外で異なる動作をさせようとした。
下記のように、書くとGmailのwindowを開いていても、「a」が出力された。
F17 & Right::e SetTitleMatchMode, RegEx ; ウィンドウタイトルを正規表現マッチ #IfWinActive, .*- Gmail - Google Chrome$ ahk_exe chrome.exe ;__Gmail F17 & Right::k ;次 #IfWinActive #IfWinActive,ahk_exe chrome.exe F17 & Right::a ;Gmailのウィンドウを開いていても、これが実行 #IfWinActive
色々試してみると、SetTitleMatchModeが先頭に無いと、タイトルの検索モードを変更出来て無いようだった。下記のように先頭に持ってくると、kが出力されるようになった。
SetTitleMatchMode, RegEx ; これを先頭に移動 F17 & Right::e #IfWinActive, .*- Gmail - Google Chrome$ ahk_exe chrome.exe ;__Gmail F17 & Right::k ;Gmailのウィンドウを開いていれば、これが実行 #IfWinActive #IfWinActive,ahk_exe chrome.exe F17 & Right::a #IfWinActive
途中で検索モードの変更は出来ないということなんだろうか。。。?
コメント