Zoom Meetingsをはじめとするビデオ・コミュニケーションが、日常利用において何も例外的な存在ではない時代となった。それはオンライン・ミーティングに限らず、大人数が出席する、いわゆるカンファレンスでも用いられている。
カンファレンスの中には、プレゼンテーションを伴う講演でありながら、講演資料を配布しない場合がある。そのような講演中、「この画面はメモしておきたい!」と思った場面ですかさず、Print Screenキーを一押しすれば、指定のフォルダにキャプチャ画像が出力される。
実際のところ、すでに同様の機能を提供するフリーウェアが存在する。しかし、気付いたときには無反応、クラッシュしており、キャプチャしているつもりが全て無駄、というトラブルを度々経験した。
そのような必要性、事情を背景に自作したツールが「1 Push Snap」だ。
この投稿では、そのツールの使い方を紹介する。
1 Push Snap
github.com
このツールはオープンソースで作成しており、C#で記述している。
実行には.NET Framework 4.8を必要とする。
使い方
実行ファイル「1PushSnap.exe」を実行すると、タスクバーにアイコンが表示される。右クリックすると、コンテキスト・メニューが表示される。
- Information
キャプチャ画像(JPEGファイル)が出力されるフォルダを確認できる。
ユーザー・フォルダ(%userprofile%)をデフォルトの保存先としている。これはメニュ「Save To...」で変更できる。
- Save To...
キャプチャ画像を保存するフォルダを指定する。
もし画像ファイル出力時に、指定したフォルダが存在していなかった場合は、強制的にユーザー・フォルダへ画像出力する仕様だ。エラー表示ではなく、あくまでも画像ファイルを出力することを最優先としている。
- Image format
キャプチャ画像の出力フォーマットを指定する。初期状態ではJPEGが選択されている。
次のいずれかのフォーマットを選択できる。
- Start
このツールはキーボード・イベントを監視する。メニュー「Start」で監視を始める。
監視状態では、アイコンの色が黒からオレンジへ変化する。この状態でPrint Screenキーを押下すると、そのときの最前面Windowがキャプチャされ、その画像が指定のフォルダへ保存される。
- Stop
キーボード・イベントの監視を中止する。メニュー「Stop」で監視を止める。
監視しない状態では、アイコンの色がオレンジから黒へ変化する。
- Close
ツールを終了する。
余談-Ver 1.1からの進歩
Ver 1.1のときと同じく、目的の機能は簡単に実装できるものの、その周辺の事柄に対処するために時間を消費させられる。今回は、画像フォーマットを選択するフォームを同時に複数起動させない、つまり絶対に単一フォームでしか表示しない仕掛けに悩まされた。有名なデザインパターンの一つ、シングルトンだ。
そのシングルトンの実装で悩まされたのだが、結局のところ、シングルトンは不要だった。単純に、静的プロパティを活用することで目的は果たせられるのだった。
dobon.net
また問題点解消のため、次の対応を行った。
- 画像ファイル出力後の不要なオブジェクト消去。:メモリ・リーク対策
- ファイル名に24時間表記を反映。
次回以降の対応予定
- キーボード・イベントの監視、中断をボタン操作で切り替える。