Windows10の「Xbox Game Bar」のスクリーンキャプチャは非常に便利なのですが、起動キーが「Winキー+Altキー+PrtScreenキー」となっており指がつりそうになる。
これをワンキーで起動するようにしたい。
対策
通常の設定手段だと、Winキー+Gキーで「Xbox Game Bar」を起動し、「設定」-「ショートカット」から好きなキーに設定すれば良い。
しかしこの方法では「Ctrl、AltあるいはShiftキーとなにかのキーとの組み合わせ」を要求される。要するに2キーが必須条件であり、Winキーを押す必要が緩和されるだけなのだ。
これでもめんどくさいのでワンキーでキャプチャしたい。
AutoHotKeyでの実行
ここで登場するのがAutoHotKey(AHK)で、概要やインストール方法はググって欲しいが要するに事前に作成したスクリプトを実行できる簡易言語となっており、特にシステム系の制御に勝れている。※コンパイルして実行ファイルにすることもできる
このAHKを使えば、ワンキーでの(アクティブウィンドウの)スクリーンキャプチャは次の1行で実行可能となる。
PrintScreen::Send,{RWin Down}{RAlt Down}{PrintScreen}{RAlt Up}{RWin Up}
これは、「PrintScreen」キーを押した時(::)に、Windowsに対して「Winキー+Altキー+PrtScreenキー」の組み合わせとしてキー押下を実行させるという内容になっている。
なおWinキーとAltキーについては複数同時押下させるために、キーダウン(解除するまで押しっぱなしにする)/キーアップ(押しっぱなしを解除)処理を前後に挟んでいる。
あとはこの内容を「(適当な名前).ahk」という拡張子で保存し、右クリックからRun Scriptするだけで良い。スクリーンキャプチャしたい場面で「PrintScreen」キーを押すとスクリーンキャプチャが実行できる。Sendするキーを変更すれば別の動作を実行させたりもできる。
キャプチャできない場合
何らかの理由で、特定プログラムでキャプチャが効かない場合などは下記の呪文をahkの先頭に追加してみよう。
#SingleInstance Force #InstallKeybdHook SendMode Input DetectHiddenWindows, On SetKeyDelay , 50, 30, ; if !A_IsAdmin { Run *RunAs "%A_ScriptFullPath%" ExitApp }
※意味などはここでは解説しませんが、各自で調べてみてください。といって別に利用者に不利益を与える怪しい物じゃあなく、管理者権限にしたりとかそういう物です。