Скриншот работающего окна - C#
Формулировка задачи:
помогите, надо сделать скриншот работающего окна, делаю так:
везде в поисковиках такой только вариант нашел, но он не так делает, он копирует весь экран за исключением панели задач, а мне нужно только активное окно, как это сделать?
var area = Screen.PrimaryScreen.WorkingArea; var screenshot = new Bitmap(area.Width, area.Height); var g = Graphics.FromImage(screenshot); g.CopyFromScreen(area.X, area.Y, 0, 0, area.Size);
Решение задачи: «Скриншот работающего окна»
textual
Листинг программы
[DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect); [StructLayout(LayoutKind.Sequential)] public struct RECT { public int Left, Top, Right, Bottom; } [DllImport("user32.dll")] static extern IntPtr GetForegroundWindow(); .... RECT area; GetWindowRect(GetForegroundWindow(), out area); var screenshot = new Bitmap(area.Right - area.Left, area.Bottom - area.Top); using(var g = Graphics.FromImage(screenshot)) g.CopyFromScreen(area.Left, area.Top, 0, 0, screenshot.Size);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д