これはかなりの作業がなければ実現できません。印刷画面機能は、デスクトップDCの内容をイメージにコピーし、キーボードに配置するだけです。デスクトップ全体を新しいDCに実際に再描画するわけではありません。したがって、特定のウィンドウを静かに削除する方法はありません。
印刷画面のボタン(またはそれが何であれ)をフックしてクリップボードにイメージを作成できるとします。次に、あなたのフックは、問題のウィンドウの場所をデスクトップから読み取って、クリップボードにあるビットマップのその領域をクリアすることができます。
あなたのフックはこれをするでしょう:
call the normal print screen function
load image from clipboard
get location and size of Window3 from desktop
fill that rectangle in the image with black (or whatever)
put the modified image back on the clipboard
を使用すると、プリントスクリーン機能をフックすることができ、もちろん、と仮定します。私はそれが可能だと思うが、私はそれを試したことはありません。
しかし、それは黒い部分ではないと思いました。私は黒い四角形を望んでいないが、全体の画像 –
@エイバン:あなたは "背後にある" Window3を表示したいですか?私はあなたが求めていることは、可能な限り、非常に困難であることを発見するつもりだと思います。 –
私は解決策を考えましたが、他の簡単な解決策を探しています。これが私のテイクです。すべてのウィンドウとその位置のスクリーンショットを取得します。タスクバーのスクリーンショットを取得します。デスクトップのスクリーンショットを取得します。それらを1つの画像に結合します。不要なウィンドウを除外します。 –