//获取顶置窗口句柄的截图并返回截图文件的路径 public string GetActiveWindowImageUrl() { const int nChars = 256; StringBuilder Buff = new StringBuilder(nChars); IntPtr handle = GetForegroundWindow(); var rect = new User32.Rect(); User32.GetWindowRect(handle, ref rect); int width = rect.right - rect.left; int height = rect.bottom - rect.top; var bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb); Graphics graphics = Graphics.FromImage(bmp); graphics.CopyFromScreen(rect.left, rect.top, 0, 0, new Size(width, height), CopyPixelOperation.SourceCopy); string guid = Guid.NewGuid().ToString(); //Test 获取当前桌面的相对地址 string desktopUrl = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); bmp.Save(desktopUrl + guid + ".png", ImageFormat.Png); string windowsImageUrl = desktopUrl + guid + ".png"; return(windowsImageUrl); }
//通过进程名称获取当前进程中主线程的截图 public static void GetActiveWindowImage(string procName) { var proc = Process.GetProcessesByName(procName)[0]; var rect = new User32.Rect(); User32.GetWindowRect(proc.MainWindowHandle, ref rect); int width = rect.right - rect.left; int height = rect.bottom - rect.top; var bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb); Graphics graphics = Graphics.FromImage(bmp); graphics.CopyFromScreen(rect.left, rect.top, 0, 0, new Size(width, height), CopyPixelOperation.SourceCopy); string guid = Guid.NewGuid().ToString(); bmp.Save(@"C:\Users\Enz\Desktop\" + guid + ".png", ImageFormat.Png); }
//获取顶置窗口句柄的截图 public void GetActiveWindowImage() { const int nChars = 256; StringBuilder Buff = new StringBuilder(nChars); IntPtr handle = GetForegroundWindow(); var rect = new User32.Rect(); User32.GetWindowRect(handle, ref rect); int width = rect.right - rect.left; int height = rect.bottom - rect.top; var bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb); Graphics graphics = Graphics.FromImage(bmp); graphics.CopyFromScreen(rect.left, rect.top, 0, 0, new Size(width, height), CopyPixelOperation.SourceCopy); string guid = Guid.NewGuid().ToString(); bmp.Save(@"C:\Users\Enz\Desktop\" + guid + ".png", ImageFormat.Png); }