私はこれに少し当惑しています。Graphics.CopyFromScreen を使用してデスクトップのセクションを取得する ac#/WPF スクリーン キャプチャ ツールがあります。
XP、Win7、少なくとも 1 つの Windows8 VM など、さまざまなマシンで問題なく動作します。
Win8 が搭載された Acer ZS600 に遭遇しましたが、理解できない奇妙な効果が見られます。
キャプチャすると、正しいサイズの画像が取得されますが、位置が間違っています。左上にオフセットされています。定額ではありません。キャプチャ ウィンドウが画面 0,0 の位置にある場合は問題ありませんが、キャプチャ ウィンドウを原点から離すと、オフセットが増加します。
コードを調べたところ、ウィンドウの位置 (this.Top と this.Left) が間違った数値を報告していることがわかりました。
さらに奇妙なことに、これを Acer Z5771 で試しました。これは、Windows 7 を使用することを除いて、実質的に同じハードウェア構成です。Zs600 グラフィックス ドライバーを更新しようとしましたが、効果はありませんでした。
誰かがこれを理解しているか、修正や回避策を提案していますか?
編集:問題のマシンで効果を示す簡単なアプリをまとめました。私の開発マシンでは問題なく動作します。ここからダウンロード: https://s3-eu-west-1.amazonaws.com/kdownload/Tools/CaptureTool_app.zip
または、コンパイル済みバージョンをダウンロードします: https://s3-eu-west-1.amazonaws.com/kdownload/Tools/capturetest.exe
編集: これは、問題のシステムで使用されているキャプチャ アプリの 2 つのスクリーンショットです。https://s3-eu-west-1.amazonaws.com/kdownload/Tools/ProblemScreencap.png (編集 - そのスクリーンショットでは、x&y の表示数値を幅と高さで切り替えましたが、アップロードされたコードで修正されました。これは無視してください)