2022年1月11日火曜日

Windows10では「Windowsキー+F15キー」ショートカットは 「Windowsキー+PrintScreenキー」ショートカットと同じだと知らなかった話

 自分のような状況になる人はまずいないとは思うがあまりにも不運な状況に陥ったので記事にしておく。

最近普段アクセスしないWindows10のフォルダーを見ていたら気づいた。C:\Users\ユーザー名\Picturesフォルダー内にScreenshotsというフォルダーが作成されており、中に無数の画像がpng形式で保存されているのだ。画像を見ると、すべて自分のPCのデスクトップをスクリーンショットした画像。画像は400枚あり、名前はスクリーンショット (1).pngからスクリーンショット (400).pngとなっている。恐怖である。画像の作成日時をみると1年前にスクリーンショットが取られ初めて、半年前に画像生成はストップしている。なのでだいたい半年間スクリーンショットが取られ続けていたことになる。自分が気付かないところで。これはウィルスにやられたのかと震えながら、「いやウィルス感染するようなことはしていないだろう」と考えながら必死になって原因を調べ始めた。原因がわからなければウィルス感染の可能性も考えOSのクリーンインストールをするしかないと覚悟を決めて。

そもそも自分はRaptureというフリーソフトを使ってスクリーンショットを取っているのでWindowsのスクリーンショット機能は一切使っていない。なのでWindowsのスクリーンショット機能については、「Windowsでスクリーンショット画像を見る方法→Printscreenキーをおして画面キャプチャーしWindowsのペイントを開いてCtrl+Vでキャプチャー画像を貼り付け。ここでようやくスクリーンショット画像が見れる」とかそんな雑な知識しかなかった。そのため「なぜスクリーンショット画像がペイントを通さずこんなに大量に保存されているのだ?ありえないだろ?」と思いながら調べてみるとWindowsというやつはWindowsキー+PrintScreenキーでデスクトップのスクリーンショットを前述のScreenshotsフォルダーに直接保存してくれるのだと知った。ということはWindowsキー+PrintScreenキーを間違って押し続けた結果の400枚のpng画像なんだな、、とは当然ならない。400回もこんな押しにくいキーコンビネーションのショートカットを誤爆するはずがないからだ。

色々調べるとWindows10ではWindowsキー + Fキー を押すとフィードバックHubとかいうマイクロソフトにWindowsの苦情を言うためのアプリが起動するが、そのアプリには起動するとデスクトップのスクリーンショットを勝手に撮影してくれる機能があると知った。WindowsキーとFキーはWindowsキー+PrintScreenキーよりは押しやすい。しかしこのキーコンビも400回も押すことは同じく考えられないし、フィードバックHubがキャプチャーした画像はCapture0.pngという名前になるし、その画像が保存されるフォルダーはC:\Users\ユーザー名\AppData\Local\Packages\Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe\LocalState以下にあるフォルダーの中だ。

どうしても原因がわからないので、400枚のスクリーンショット画像を何度も見直してみた。画像の中で自分がしていたことになにか共通性はないかと考えると、何枚かの画像で同じようなことをしていることに気づいた。Autohotkeyスクリプトで何かをしているのだ。自分はAHKスクリプトファイルにNotepad++で編集を加えるたびにバックアップを取るようにしているのでスクリーンショットが取られ始めたころと取られなくなった頃のAHKファイルのバックアップを調べて気づいた。AHKでWindows+F15キーの組み合わせで発動するスクリプトを設定してからWindows10でスクリーンショットが取られ始めているのだ。スクリーンショットの画像をみると確かのそのキーに割り当てたAHKスクリプトが動いてるような感じがする。当然スクリーンショットが取られなくなったのはAHKでWindows+F15キーを使わなくなってからだ。

自分はF13からF24キーをLogicoolの多ボタンマウスG600に割り当てて使っている。F13からF24キーはたいていのアプリで未使用なので好き放題やれる。BlenderなんかはF13からのファンクションキーもショートカット割当可能だったりして色々使いみちがあるキーだ。なのでG600に割り当てたF15とキー自分はほぼ使っていないWindowsキーを修飾キーとして組み合わせて、Windowsキー+F15キーを押すとAHKスクリプトを動かすようにしていたのだが。このキーの組み合わせが何かをしているんだろうと考えたが、これで発動するショートカットがあるのか?どうせ振り出しに戻るんだろう、と考えながら検索してみるとこのページがヒットした。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/cd0ad6b9-77a4-434d-8ed7-722ae21a39f1/keyboard-shortcuts?forum=vbgeneral

このページはマイクロソフトのVisual Studioのフォーラムのようだがこれはここに投稿された質問スレッドだ。この質問スレッドの作成者は「(Visual Studioでは?)ショートカット割り当てでF13キーからF24キーが使えるようだがそんなボタンはキーボードにないしなんのためにこの設定があるのか?」みたいな質問している。続けてF13以降のファンクションキーがあるキーボードのことを話してる人などがいて、その回答者に混じってWindowsで使える、WindowsキーとF13以降のファンクションキーのショートカットに言及している人がいるのだ。これがそのキーボードショートカットらしい。

Windows + F13: no function?
Windows + F14: no function?
Windows + F15: screenshot (equivalent to pressing Windows + Print Screen?)
Windows + F16: shut down PC
Windows + F17: no function?
Windows + F18: open Cortana in listening mode
Windows + F19: screenshot (equivalent to pressing Windows + Print Screen?)
Windows + F20: quick note
Windows + F21: open Settings
Windows + F22: choose projection mode
Windows + F23: no function?
Windows + F24: screenshot (equivalent to pressing Windows + Print Screen?)


この中のこれが問題のショートカットだ。
Windows + F15: screenshot (equivalent to pressing Windows + Print Screen?)
しっかりとWindows+F15はWindowsキー+PrintScreenと同じことをすると書いてある。まさかそんなはずはとWindowsキーとF15キーを押してみたがしっかりと前述のScreenshotsフォルダーにデスクトップのキャプチャー画像が保存されていた。

Windowsキーを修飾キーとして使って発動するWindows用のショートカットは案外数多くあるようで。自分はまったく使っていないが。このWindows用のショートカットというやつはAHKで別の動作を割り当ててもおかまいなしに動き出すことがかなりあるが今回はそれだった。Windowsキー+F15キーに割り当てたAHKスクリプトが動いていながら、Windowsのスクリーンショットショートカットもそのまま動いていたというそれだけの話。これが謎のスクリーンショット画像の原因だと問題は解決したのだった。。。

しかしWindows10用のプリントスクリーンのショートカットを調べても検索ヒットするのはPrintScreenキーとWindowsキーと通常のキーの組み合わせばかり。F15キーに言及してる人なんていない。Windowsキー+F15キーでこんなことができるなんて知りようもない。というかマイクロソフトもそんなショートカット用意しておくなよと。誰が使うんだと。とまあ運悪くWindowsキーとF15キーを組み合わせてAHKスクリプトを動かしていたから半年間もデスクトップ画像をキャプチャーされ続けていたわけだ。Screenshotsフォルダに無数のpng画像を見つけたときはウィルスにやられたのだと愕然としていたが。この原因がわからなければどうなっていたことか。クリーンインストールなんてしてしまったら元の環境に戻すまでまたさらに数日費やすことになっていたはずだ。