画面コピーをワンタッチで行う方法

「画面に何か表示されている、どうしたらいいですか」知人や友達からこんな電話を受けた経験はありませんか? アップデートの通知などはすぐ消えてしまうため、表示の内容を確かめるのも大変です。こんな時に便利な方法をご紹介します。

WSHについて詳しくは こちら をご覧ください。


画面コピー&保存をツータッチで行い、画像をデスクトップに保存する方法

 

WSH [Windows Script Host(ウインドウズ・スクリプト・ホスト)]を使ってツータッチで画面コピーを保存します。

 

 手順

 ① スクリプトファイルCopy.js をデスクトップに置きます。 
 ② スクリプトファイルのショートカットをデスクトップに作成します。 
       右クリック→送る→デスクトップ(ショートカットを作成) 
 ③ ショートカットをコピーしてスタートメニューに登録 
      ショートカットをコピー → スタートメニューのアクセサリー(例えば)を右ク

  リック → 開く-AllUsers をクリック → ショートカットを貼り付け→貼り付けた

  ショートカットを右クリック → プロパティー → ショートカットタブ → ショート

  カットキー(K)に使っていないショートカットキーを登録 

  (使っているかどうかはあらかじめ試してみて下さい)

 

使い方

 

 PrintScreenキーを押した後ショートカットキー(例えばF2)を押すと画面コピーがデスクトップに保存されます

 

              スクリプトの内容は以下の通り

 (スクリプト自体はネットで公開されているものです)

*************************************************************************************

var ws = WScript.CreateObject("WScript.Shell");
ws.SendKeys( "% n" );  

// 空画像を作成 画像+時間でファイル名作成
var bmpname = "画像" + (new Date()).getTime() + ".bmp";
var out = WScript.CreateObject("ADODB.Stream");
out.Type = 1;
out.Open();
out.SaveToFile( bmpname, 2 );
out.Close();

// MSペイントを起動・最大化
var mspaint = ws.Run("mspaint.exe " + bmpname, 3);
WScript.Sleep( 1000 );
var ret = ws.AppActivate( mspaint );

// 画像を保存

ws.SendKeys( "^v" ); // ペースト
ws.SendKeys( "^s" ); // 保存
ws.SendKeys( "%{F4}" ); // 終了

 


ダウンロード
Copy.js
スクリプトファイルはこちらからダウンロードしてください
copy.js
js ファイル 1.3 KB

この仕組みを作るためには、相手方に行って作業する必要がありますが、ShowMyPCなどのリモートデスクトップツールを使って、リモートで行う方法もあります。

 

また自分の画面状態を誰かに見てもらいたい場合などは、この仕組みを作って瞬間の画面コピーを詳しい人に見てもらうこともできます。


デスクトップの画像を自動でメール送信

上の方法で保存した画像を自動で特定のアドレスへメール送信します。

画像保存スクリプトの一部変更および追記とフリーのコマンドメール送信ソフト WinMailCmd とbatファイルの追加が必要になります。

 

WinMailCmd をダウンロードしてインストール、初期設定を行います。

画面保存スクリプトに以下の変更を行います

 

// 空画像を作成 paint.bmpでファイル名作成
var bmpname = "paint" + ".bmp"; //-----この行
var out = WScript.CreateObject("ADODB.Stream");

 

画面保存スクリプトに以下の追加を行います

// 画像を保存

ws.SendKeys( "^v" ); // ペースト
ws.SendKeys( "^s" ); // 保存
ws.SendKeys( "%{F4}" ); // 終了

-------------------------------------------------------------これ以降

WScript.Sleep( 1000 );

//画像を添付してメール送信:WinMailCmdプログラムを起動するbatファイルを呼び出し
ws.Run("mail.bat")

 

mail.batの例

 

以下のコマンドをMail.batというファイル名で任意のフォルダーに保存します。

-----------------------------------------------------------------------

@echo off

C:\WMC\WinMailCmd  送信先メールアドレス, "", 件名, 本文,C:\Users\owner\Desktop\paint.bmp(画像のファイル名フルパス)

cd..

exit /B


以上で画像として保存されたファイルを添付したメールが、設定したアドレス宛に送られます。

(パスなどは例なので、実際の環境に合わせて変更してください)