macOSのようにWindowsでスクリーンショットを撮影する

Windowsスクリーンショット問題

macOSからWindows10 への移行で問題になったことの一つとして、スクリーンショットの撮影方法がある。 ショートカットキーで全画面やアクティブウィンドウのスクリーンショットを撮影してファイルに保存 という良く使いそうな撮影方法がWindowsにはないようなのだ。

macOSでは、cmd + shift + 3で全画面、cmd + shift + 4でウィンドウを選択したスクリーンショットを撮影してデスクトップに保存できる。 一方のWindows10にもスクリーンショットを撮影する方法はあり、それも何故か下記の3種類もあるのだが、どれも一長一短あって使いづらい。

  1. PrintScreenで全画面、Alt + PrintScreenでアクティブウィンドウクリップボードへ保存
  2. Win + sで全画面、Win + Shift + sで選択範囲ピクチャディレクトリに保存
  3. Snipping Toolを使ってGUIスクリーンショットを撮影して、任意のディレクトリに保存

やりたいことに最も近いのは3番目のSnipping Toolだが、GUI操作なのと、デフォルトファイル名が キャプチャ.png になるため連続してキャプチャしづらい。

キャプチャソフトを追加で入れれば解決できるとは思うが、スクリーンショットを撮影する機能のためだけに常駐アプリを増やしたくもない。

解決策

AutoHotKey (AHK)を使ってスクリーンショットを撮影するスクリプトを組んだ。

AHKとは、キーマップを変更したり、特定のキーコンビネーションでスクリプトを実行したりするための常駐アプリだ。 常駐アプリだが様々な用途で使えるので、スクリーンショット撮影アプリを常駐させるよりは良いだろう。 www.autohotkey.com

自身が慣れているmacOSのショートカットキーに似せるため、Win + Shift +3で全画面、Win + Shift + 4でアクティブウィンドウのスクリーンショットを撮影するように設定した。 撮影されたスクリーンショットは、ScreenShot + {撮影時刻}.pngという形式のファイル名でデスクトップに保存する。

Capture a screenshot on Windows using AutoHotKey …

script.ahkscreenshot_window.ps1screenshot_all.ps1を同じディレクトリに配置したうえで、script.ahkAHKで実行すれば利用できる。