Capture-Bildschirm des Fensters mit dem Griff

Ich versuche, nur ein bestimmtes Fenster auf dem Desktop zu erfassen, erhalte jedoch ein gemischtes Bild, das aus einem Teil des Fensters und einem Teil des Desktop-Bereichs besteht.

Was vermisse ich

Hier ist mein Code:

RECT rect = new RECT();

if (!SetForegroundWindow(handle))
    throw new Win32Exception(Marshal.GetLastWin32Error());

if (!GetWindowRect(handle, out rect))
    throw new Win32Exception(Marshal.GetLastWin32Error());

Thread.Sleep(500);

Rectangle windowSize = rect.ToRectangle();
Bitmap target = new Bitmap(windowSize.Width, windowSize.Height);
using (Graphics g = Graphics.FromImage(target))
{
    g.CopyFromScreen(0, 0, 0, 0, new Size(windowSize.Width, windowSize.Height));
}

target.Save("foo.png", System.Drawing.Imaging.ImageFormat.Png);

Antworten auf die Frage(4)

Ihre Antwort auf die Frage