Capture la pantalla de la ventana por el asa
Estoy tratando de capturar solo una ventana específica en el escritorio, pero obtengo una imagen mixta, parte de la ventana y parte del área del escritorio.
¿Qué me estoy perdiendo?
Aquí está mi código:
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);