色々なスクリーンショット保存方法

##概要
検証でエビデンスを記録したり、図解で記事を執筆したりするために、
画面の表示内容を画像として保存、
いわゆるスクリーンショットを保存することがあるかと思います。

本投稿では、Windowsにおけるスクリーンショットの方法をまとめました。

##環境
Windows10, 7

##方法
* ショートカットキー
* Windowsバンドルソフトウェア
* 既製品
* スクリプト・コンパイル

####ショートカットキー
Windowsキーボード上には、[PrintScreen]キーがあります。
[PrtSc] 等の表記になっている場合もあります。
ノートPCの場合、他のキーとの共用になっている事が多く、
印字が枠で囲まれていたり色が付いている場合は、
Fnキーを押下しながら押下します。

* [PrintScreen]キーを押下すると、
デスクトップ画面がビットマップ画像としてクリップボードに保持されます。
* [Alt]+[PrintScreen]キーを押下すると、
アクティブウィンドウ（操作中のアプリケーションのウィンドウ）部分がクリップボードに保持されます。
* Windows 10では、[Windows]+[Shift]+[S]キーを押下すると、
キャプチャしたい領域をマウスドラッグで選択できます。

ペイント (mspaint.exe) を起動して、[Ctrl]+[V]キーを押下すると編集が可能になります。
「名前を付けて保存」します。

上記の方法は、
スクリーンショット画像を一回一回名前を付けて保存する必要があり、
連続したスクリーンショットには不向きです。

そこで、Windows 10に限定されますが、
自動保存まで可能な下記ショートカットキーがオススメです。

* [Windows]+[PrintScreen]キーを押下すると、
ユーザの「ピクチャ」フォルダ内に「Screenshots」フォルダが作成され、
自動的に保存されます。

####Windowsバンドルソフトウェア
* Windows 7でも「Snipping Tool」を利用することで、
キャプチャする領域を自由に選択したり、
「ペイント」などの他の画像編集ソフトに貼り付けることなく保存することが可能です。
* Windows 10では「Snipping Tool」の後継ソフトウェアとして「切り取り領域とスケッチ」がMicrosoftからリリースされました。

####既製品
インターネットで公開されているオンラインソフトウェアをダウンロードするか、
パッケージ版で販売されているソフトウェア製品を入手すれば、
タイマーを使用して連続で取得したり、保存時のファイル名を予め指定したりすることも可能です。

職場では、自由にソフトウェアをインストール・使用できない場合があります。
本項を実践する前に、職場のルールを確認して下さい。

例えば、ICT環境の管理部門が
使用可能／使用禁止ソフトウェアを指定している場合があります。
使用禁止ソフトウェアに指定されている製品を除き、
所属部署の上長の判断で製品ごとに使用が許可される場合があります。

使用が制限される理由は、概ね次の通りです。
* 製品ごとに商用利用可否の確認が必要
* ライセンス管理
* マルウェア混入の危険性
* ファイル共有ソフトによる情報流出の防止

オンラインソフトウェアの配布サイトは「Vector」や「窓の杜」が老舗で、
カテゴリ毎にたくさん見つけることが出来ます。
独自ドメインでソフトウェア説明用のWebサイトがあっても、
ダウンロードは「SourceForge」というサイトから
というものも多いです。

インターネットからダウンロード可能なソフトウェアでも、
全て無料で自由に使用できるとは限らず、
大きく下記に分かれます（Vectorを参考）。

* フリーウェア（無料で利用可能）
* カンパウェア（無料で利用可能だが寄付を受け付ける）
* シェアウェア（使用目的により、または継続利用に対して対価を求められる）
* 試用版（使用期間または機能が限定される）
* 製品版（購入しないと入手不可）

ソースコード、すなわちプログラムの設計書が公開されているものを
オープンソースソフトウェア (OSS) と呼びます。
OSSは互助精神に基づき、お互いが設計を公開し合うことで作られているため、
基本的にライセンスフリー、すなわち無料で利用可能です。
（パッケージ製品として有償販売されているものもあります）
SourceForgeはソースコードを配布するためのサイトであるため、
SourceForgeから自由にダウンロードできるものはOSSと考えて良い。

但し、SourceForgeは誰でも配布可能かつ有名故に
アドウェア・マルウェアをバンドルしたものが配布されている例があります。
そういう事情から、SourceForgeからダウンロードしないよう社内通達があるかも知れないため、
職場で使用可能なソフトウェアに指定されている場合でもその入手先は上司に相談すべきです。

####スクリプト・コンパイル
※本項は初心者にはオススメしません。

「インターネット上で有用そうなソフトウェアを発見したけれど、
使用可能なソフトウェアとして許可されていない」

なんて場合には、
使用可能であろうソフトウェアを使用して実現する方法を紹介します。

Windowsにも、WSHやPowerShellといったスクリプト実行環境が元から備わっています。
「"\*.BAT" ファイルや "\*.VBS" ファイルは普段から何気なく使われているよ」
とか
「Microsoft OfficeのVBA (Visual Basic for Applications) を使ってるよ」
くらいはあるでしょう。
そういうものを使用して、「実行プログラムを新たにダウンロードはしないよ」
という解釈の下で成り立つ方法です。

@earthdiver1さんがPowerShellや.NET Frameworkを利用した
スクリーンショットプログラムを公開して下さっています。
[Windowsのスクリーンショットをファイルに自動保存](https://qiita.com/earthdiver1/items/79fa9d86331bb72a198c)

PowerShellは、デフォルトでは任意のスクリプトの実行が禁止されており、
そのセキュリティ設定の変更には管理者権限が必要となります。
そのため、.NET Frameworkの方を使用します。

上記サイトからソースコードをコピーし、
下記コマンドを参考にコンパイルします。

```
COPY C:\Windows\Microsoft.NET\Framework\v3.5 .\
.\3.5\csc.exe /t:winexe AutoSaveSS.cs
```

実行可能ファイル (+.exe) ではありますが、
ダウンロードした訳ではなく、Windowsが生成したものです。
バッチファイルやスクリプトを実行した場合でも、
CPU内部・メモリ内部では、中間コードを経て機械語に翻訳されているから一緒でしょう。
但し、端末のセキュリティチェックをするソフトウェアが導入されている場合は、
未確認の実行ファイルが検出されるとその旨が端末管理用のサーバに送信され、後でお咎めが来る可能性がありますのでご注意ください。

スクリプトまたはソースコードを見て、危険な動作が無いかの判断が必要ですので、
自己責任になります。