午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

スクショアプリできた!右クリックメニューを表示したエクセルもキャプチャできる

切り抜きとかトリミングとかめんどくさいのなしで

エクセルのスクショ
マウスカーソルも描画できる

Microsoft Edgeのスクショ

ScreenCapture/Pixcren
github.com

ダウンロード先
https://github.com/gogowaten/ScreenCapture/releases/download/1.0/Pixcren1.0.0.0.zip

作成環境
Windows 10 Home バージョン 2004
Visual Studio Community 2019
WPF
C#
.NET 5

動作に必要なのは.NET 5
フレームワークってのを.NET 5で作ったから、これがインストールされていないと動かないと思う

docs.microsoft.com



使い方
初回起動時

初回起動時
最低限の設定はされているので、あとはPrintScreenキーを押すだけ全画面スクショした画像が保存される
保存先はマイドキュメントフォルダ
ファイル名は日時


キャプチャ範囲の変更

キャプチャ範囲の変更
ウィンドウ:最前面になっているアプリのウィンドウ(アクティブウィンドウ)
ウィンドウのクライアント領域:ウィンドウの内側、タイトルバーやメニューバーを除いた範囲

その他に変更する箇所は保存場所くらいでいいと思う


もっといろいろ設定したい場合
ファイル名の指定

ファイル名初期値
初期設定だと日時がファイル名になる(西暦年月日ミリ秒.拡張子)
確認ボタンで今の設定でのファイル名を表示する

文字列の追加と追加位置
日時の後に文字列「山芋」を追加

日時の後に文字列追加
text1に追加したい文字列を記入して、text1にチェックを入れる

日時の後に文字列を追加

文字列1から4まで追加
チェックを入れたtext1からtext4までを、順番につなげたファイル名になる


text1とtext2の間に日時を入れる

順番変更
日時チェックの右側の数値を0から1.5に変更するとtext1とtext2の間に日時が入る
つまり、日時チェックの右側の数値は、text1から4のどこに入れるかの順番を表している
0なら先頭、5なら末尾、3.5はtext3とtext4の間になる


連番+文字列

連番ファイル名
日時と同じように、連番にチェックを入れれば連番+文字列がファイル名になる、順番指定も同じ
日付か連番はどちらかが必須なので、どちらもチェックが外れていた場合は、キャプチャ時に日時にチェックが入るようにしている


コンボボックス(リスト)へ値を追加

追加まえ
文字列を入力しただけではリストに追加されない


リストに追加
追加ボタンを押すと追加される
リストに追加された文字列は保存されるので、次回のアプリ起動時にも使える


日時の書式設定
カスタム日時形式文字列 | Microsoft Docs
docs.microsoft.com ここにあるのがそのまま使えるけど、ファイル名に使えない文字があった場合は

ファイル名に使えない文字があった場合は
保存失敗
…エラーになる、例外処理とか事前通知とかめんどくさいねんな

書式指定なしのとき

文字列+日時
日時の書式が空欄のときは"yyyyMMdd_HH_mm_ss_fff"が適用されて表示は、西暦年月日_時_分_秒_ミリ秒になる
特にこだわりがないならこれでいい


文字列+連番
日時書式yyyy_MM_dd_HH_mm_ss_fff
日時書式D+連番
日時書式D+文字列+連番


キャプチャ時に鳴らす音

キャプチャ時に鳴らす音
初期設定だと鳴らさないになっているけど、鳴らしたほうがいいと思う
規定の音はアプリに内蔵した音声ファイルを鳴らす、ファミコンみたいな音がなる、ドミソ
指定できる音声ファイルはwav形式

スクショするホットキーを決める

ホットキー設定
初期値はこうなっていて、PrintScreenキーを押すとスクショするようになっている。わかりづらいけど、SnapshotキーってのはPrintScreenキーのこと

Alt + Ctrl + PrintScreenでスクショしたい場合は

修飾キーの変更
チェックを入れる


PrintScreenキー以外を指定する

ホットキーの変更
枠内にカーソルを置いてから、指定したいキーを押す。
この状態で例えばInsertキーを押すと
ホットキーの変更
こうなる

登録できないキーの組み合わせ
他のアプリやウィンドウズで使われているキーは登録できない

  • Alt + Tab
  • Win + PrintScreen
  • Win + PrintScreen + s
  • Win + Alt + PrintScreen
  • Win + G

ホットキー登録失敗
Win + なんかのキー
この組み合わせはウィンドウズで使われているのが多い感じ
特にこだわりがないなら、初期値のSnapshotか、Ctrl + Snapshotがいいと思う
Snapshot(PrintScreen)キー本来の動作は、クリップボードにデスクトップ画像をコピーすることなんだけど、ホットキーに登録した場合はこの動作をしなくなる



作成した感想

メニューを開いた状態でのキャプチャ

メニューを開いた状態でのキャプチャ
これが手軽にできるキャプチャ(スクショ)アプリが見つからなかったんだよねえ

エクスプローラーもメニューを開いた状態でのキャプチャができる

エクスプローラ

ファイル名
ファイル名もいろいろ設定できるようにしたつもり
最初は連番か日時だけで考えていたけど、任意の文字列を付けれたほうがいい、よく使う文字列は次回起動時にもリストから選択できたほうがいいかも、文字列の順番はどうしようかって付け足していったら、キャプチャ自体なんかよりこれの作成が一番時間かかった




関連記事、今回のアプリまでの道のり
次回は3日後
スクショアプリPixcrenの改善、ファイル名見本更新と日時書式一覧表 - 午後わてんのブログ
gogowaten.hatenablog.com

前回は17日前 2020/12/11、この時点で準備ヨシ!1週間でできるやろと思っていた
gogowaten.hatenablog.com

2020/11/23
gogowaten.hatenablog.com

2020/11/20
gogowaten.hatenablog.com

2020/11/19、この方法はそのままでは使えなかった
gogowaten.hatenablog.com

2020/11/17
gogowaten.hatenablog.com

2020/7/13、このNumericUpDownもどきは今後も活躍しそう
gogowaten.hatenablog.com

2019/10/13、保存フォルダ指定のために使った






Pixcren記事の新しい順
1.4.4
gogowaten.hatenablog.com

1.4.3
gogowaten.hatenablog.com

1.4.2
gogowaten.hatenablog.com

1.4.0
gogowaten.hatenablog.com

gogowaten.hatenablog.com

gogowaten.hatenablog.com

Ver1.3.6
gogowaten.hatenablog.com

gogowaten.hatenablog.com

gogowaten.hatenablog.com

gogowaten.hatenablog.com

gogowaten.hatenablog.com

gogowaten.hatenablog.com