キー一発でアクティブウィンドウをキャプチャして YYMMDD_HHMMSS.jpg で保存する
WinShot は保存時のファイル名に融通が効かないのと、キャプチャに成功したかどうかがわかりづらいのが不満。というわけで、それら不満を解消しつつ、キー一発でガシガシと保存する仕組みを整えた。
概要
- ホットキーは AutoHotkey で割り当てる
- ホットキーから呼ぶキャプチャツールは commandcap
- 今回私がつくったもの
- コマンドラインでアクティブウィンドウとかフルスクリーンとかキャプチャできる
(1) AutoHotkey
AutoHotkey 1.1.x をインストール。
(2) commandcap
stakiran/commandcap: Simple light commandline screen capture tool.
ダウンロードして適当なディレクトリに配置。動作には Python と Pillow ライブラリが必要。
(3) AHK スクリプトで commandcap を呼び出す
ScrollLock に設定する例。
ScrollLock::run,pythonw D:\work\github\stakiran\commandcap\commandcap.py -a -o D:\data\screenshots --format "$2"
pythonw
は DOS 窓を出さずに Python スクリプトを実行するおまじない。
-a
はアクティブウィンドウをキャプチャするよ、の意。
-o ディレクトリ
で保存先ディレクトリを指定
--format "$2"
はファイル名のフォーマットを指定。commandcap にはスロット1 と 2 があり、--format1 あるいは --format2 にて「現在日付時刻をベースとしたフォーマット」を指定できるようになっている(Python の strftime のフォーマット)。で、これらスロットを --format からさらに参照するという感じ。
Q&A
Q: マウスカーソルが揺れるんだけど、これは何?
Ans: カーソルシェイクという commandcap の機能。
キャプチャに成功したことを示すためのもの。
Q: デュアルモニタには対応していない?
Ans: していない。
プライマリモニタ以外だとキャプチャできない。Pillow ライブラリのキャプチャ機能の仕様なので、細かいことは知らない。