1

Windows 10 (ビルド 10166) の PrintWindow 機能に問題があります。PrintWindow ( https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd162869(v=vs.85).aspx ) を呼び出して、Microsoft Edge (Project Spartan) ブラウザー ウィンドウの画像をキャプチャする場合黒いイメージが得られます。

この理由を知っている人はいますか?どうすれば修正/回避できますか? または、ウィンドウの画像をキャプチャする他の方法で、背景にあり、別のウィンドウの後ろに隠れている可能性がありますか?

更新: WM_PRINTCLIENT および WM_PRINT メッセージを送信し、WM_PRINT で DefWindowProc を呼び出してみましたが、結果は同じで、黒い画像だけです。また、BitBlt を使用してウィンドウの DC をメモリ サーフェスにコピーしようとしましたが、これも機能していません。現在の最善の解決策は、ブラウザー ウィンドウを前面に表示し、画面全体をキャプチャして、スクリーンショットをウィンドウのクライアント サイズにトリミングすることです。ただし、現在使用中のアプリケーションを切り替えるため、ユーザーの邪魔をしたり、ユーザーを悩ませたりする可能性があります。

4

2 に答える 2

0

ブラウザでページのスクリーンショットを撮りたい場合。この JavaScript ライブラリを試してみてください: http://html2canvas.hertzen.com/ スクリプトは、読み込まれたページの DOM を通過します。そこにあるすべての要素に関する情報を収集し、それを使用してページの表現を構築します。つまり、実際にページのスクリーンショットを撮るのではなく、DOM から読み取ったプロパティに基づいてページの表現を作成します。

Microsoft Edge と Chrome で自分のマシンを試してみたところ、両方で動作しました。

于 2015-11-23T08:27:48.823 に答える