午後わてんのブログ

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

関連ウィンドウキャプチャの強化と不具合修正、Pixcren

Pixcren 1.4.3

スクショアプリ

Pixcren1.4.3
キャプチャ範囲と挙動




追加、修正箇所

  • アプリの設定ファイルを読み込んだとき

    • ウィンドウ位置は変更しないようにした
    • ウィンドウ位置が画面外になるようなときは初期位置(0)に表示するようにした
  • ファイル名重複回避

    • 重複回避はファイル名末尾に_を付け足す
    • ファイル名に連番を指定しているのに、クリップボードからキャプチャしたときは、連番が加算されていなかったのを修正
  • キャプチャ範囲の項目

    • 「ウィンドウ + より多くの関連ウィンドウ」を追加
    • 関連ウィンドウキャプチャの不具合を修正できていなかったのを修正

前回はaviutlのキャプチャがうまくできなくて

前回、キャプチャ範囲:関連ウィンドウ
前回は余計な範囲がキャプチャされてしまっていたけど
今回は
今回、キャプチャ範囲:ウィンドウ + 関連ウィンドウ


アクティブなツールウィンドウとメインウィンドウだけをキャプチャしたいときは
キャプチャ範囲:ウィンドウ + 関連ウィンドウ

ツールウィンドウの1つとメインウィンドウ


逆に
すべてのツールウィンドウをキャプチャしたいときは
キャプチャ範囲:ウィンドウ + より多くの関連ウィンドウ

キャプチャ範囲:ウィンドウ + より多くの関連ウィンドウ


関連ウィンドウキャプチャのときは、ツールウィンドウの右クリックメニューや、ドロップダウンメニューとかもキャプチャされる

ツールウィンドウの右クリックメニューとその他ツールウィンドウ全部




  • キャプチャ時の挙動
    • クリップボード監視、更新されたらプレビューウィンドウに追加」を追加、つまり保存はしないで表示だけして、後で保存できるようにした

      キャプチャ時の挙動:クリップボード監視、更新されたらプレビューウィンドウに追加
      クリップボードに画像をコピーすると、プレビューウィンドウに追加される
      プレビューウィンドウに追加されたところ
      この時点では保存されていない、保存ボタンを押すと保存される

    • クリップボード監視、更新されたら保存」のとき、プレビューウィンドウにも画像追加するようにした




ダウンロード先

https://github.com/gogowaten/ScreenCapture/releases/download/1.4.3/Pixcren1.4.3.zip

github.com




作成動作環境

動作に必要なのは.NET 5がインストール済みのWindowsで、.NET Frameworkだけでは動かないはず




ムリ

Meryのオプション→文字色→色の設定
この状態でキャプチャしても
色の設定
色の設定ウィンドウだけがキャプチャされる
このウィンドウからメインウィンドウのMeryに辿り着くことができれば、なんとかなりそうなんだけどできない

下層ウィンドウ郡
foreが最前面ウィンドウの色の設定ウィンドウで、nextがその下層に連なるウィンドウ郡、[1][2]にオプションウィンドウと、メインウィンドウのMeryがあるので、関連性が判明すれば取得できるけど

ParentやOwner、RootOwnerでも取得できない

色の設定ウィンドウのParentやOwner
Parentはデスクトップらしきもので、RootOwnerは非表示の全く関係なさそうなウィンドウで、Ownerは17個まで辿ったけどほとんどが値0の無効なウィンドウハンドルだった
普通のウィンドウなら、このどれかでメインウィンドウが取得できるんだけどねえ、これはムリ

色の設定ウィンドウ以外ならキャプチャできる

色の設定ウィンドウ以外ならキャプチャできる
なので色の設定ウィンドウだけが特殊みたい


paint.net

いいね
いいね
レイヤーウィンドウの霊圧が消えた




関連記事

次回のPixcrenは1年後
gogowaten.hatenablog.com



次回のWPF記事は3日後 gogowaten.hatenablog.com



前回のPixcrenは昨日



最初のPixcrenは271日前