スクリーンショットを撮影し画像ファイルを指定アドレスへ送信するプログラム(Windows)

火曜日 , 20, 9月 2016 Leave a comment

パソコンでトラブルが発生した際、起きていることを把握するために「スクリーンショットがあれば…」と思う場面がよく起きます。 しかし、パソコンを使っている人がコンピュータに精通した人ではない場合、「スクリーンショットを撮り、ファイルに保存、保存したファイルをメールで送信する」という一連の流れを行うことが困難なことがあります。

最近、そのようなことが重なったので、OSの起動時にシステムに常駐し、PRINT SCREENキーが押されたタイミングでスクリーンショットの撮影とファイル保存、指定アドレスへ送信するプログラムを作りました。

上記の機能以外の機能は、アプリケーションの終了だけです。

間違ってPRINT SCREENキーが押されたときでも、確認ダイアログの表示など一切なく自動的にメールが送信されてしまうので、導入環境と使用方法にはご注意ください。

必要なもの:

Visual Studio 2015

ダウンロード:

ScreenSender.zip

ライセンス:

NYSL

使い方:
  1. ダウンロードしたZIPファイルを展開し、Visual Studio 2015でビルドを行う。
    (ビルド方法については、マイクロソフトのサイト「Visual Studio でのプロジェクトとソリューションのビルドおよびクリーン」などを参照してください。)
  2. SCREENSENDER.INIにメールサーバなど必要な情報を設定する。
  3. Main.exeを起動する。
  4. タスクトレイに「ScreenSender」というアイコンが表示されていることを確認する。

アプリケーションが起動している状態で、PRINT SCREENキーを押すとSCREENSENDER.INIで設定されたアドレスに撮影されたスクリーンショットが送信されます。

タスクトレイに表示されている「ScreenSender」のアイコンを右クリックし、「終了」を左クリックするとアプリケーションが終了します。

プログラム的には、Win 32 APIのグローバルフック(SetWindowsHookEx)を使いPRINT SCREENキーが押下されるのを監視、押されたらキャプチャ(System.Drawing.GraphicsクラスのCopyFromScreenメソッド)し保存、画像ファイルをSystem.Net.Mail.MailMessageクラスとSystem.Net.Mail.SmtpClientクラスの機能を使って送信という、いたってシンプルな構成です。
使っているAPIが少ないので古いバージョンの.NET Framework(.NET Framework 2くらいから?)でも動くのではないかと思います。

最初は、導入しようとした先で使用されているWindows Live Mailの画面を開くところまでを自動で行い、最終的な文言の編集と送信は人間が行うという風にしたかったのですが、Live Mailを呼び出す方法がわからず一気に送信する方式になってしまいました(^^;)

Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください