Windows 7 で遅延付きの(タイマー実行の)画面キャプチャを実現する
Windows 10 だと簡単に行えるが、Windows 7 だとちょい苦戦した。 (2019/06/28 追記) WinShot にタイマー機能があるのでこれを使うのが楽です。環境設定 > その他の設定 > 時間差キャプチャ から秒数を指定できます。
前提
- PC
- 自分の PC は Windows 7
- vSphere Client のコンソールウィンドウで RHEL7 を開いてる
- この RHEL7 画面をキャプチャしたい
- キャプチャ画像は自分の PC で扱いたい
結論
バッチファイルをつくり、timeout コマンドで時間待ちを、commandcap でコマンドラインベースのキャプチャを行う。
@echo off echo 遅延実行します... timeout 3 python commandcap.py -a --png -o C:\data\screenshots --format "$2"
実際のキャプチャ手順は以下のとおり。
- 1: 上記バッチを起動する
- 2: 3 秒経つ前に、vSphere Client コンソールの RHEL7 をアクティブにする
- すると3 秒後に commandcap が働いてキャプチャが行われる
導入
詳細は割愛するが以下のとおり。
- Python 3 が必要
- commandcap は GitHub に置いてる
以下は試行内容のメモ
WinShot にタイマー機能はある?
Ans: 無い。
snippingtool にタイマー機能はある?
Ans: Windows 7 の snippingtool には無い。
Windows 10 の snippingtool を Windows 7 に持ってくるのは?
Ans: 動かない。
このファイルのバージョンは、現在の実行中の Windows のバージョンとは互換性がありません。コンピューターのシステム情報を確認して、x86 (32 ビット) または x64 (64 ビット) のどちらのバージョンのプログラムが必要であるかを確認してからソフトウェアの発行者に問い合わせてください。
RHEL7 のスクリーンショットを使うのは?
Ans: それでも可能だったが、今回は RHEL7 上の画像データを自分 PC に持ってくる手段がなかったので無理だった。
今回は環境の都合上、踏み台マシンからアクセスするようになっているのだが、使える IP が限られている&他に使える IP がない&申請も面倒くさそう、ということで諦めざるをえなかった。