Skip to content

Instantly share code, notes, and snippets.

@dannvix
Created March 3, 2011 07:56
Show Gist options
  • Save dannvix/852484 to your computer and use it in GitHub Desktop.
Save dannvix/852484 to your computer and use it in GitHub Desktop.
/* 引入 Win32 API 中的 User32.DLL
* 需要加上 using System.Runtime.InteropServices;
*/
[DllImport("user32.dll")]
public static extern Boolean GetWindowRect(IntPtr hWnd, ref Rectangle bounds);
public void CaptureWindow () {
/* 取得目標視窗的 Handle
* 需要加上 using System.Diagnostics;
*/
Process[] process = Process.GetProcessesByName("notepad");
/* 取得該視窗的大小與位置 */
Rectangle bounds;
GetWindowRect(process[0].MainWindowHandle, ref bounds);
/* 抓取截圖 */
Bitmap screenshot = new Bitmap(bounds.Width, bounds.Height, PixelFormat.Format32bppArgb);
Graphics gfx = Graphics.FromImage(screenshot);
gfx.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy);
/* 利用 PictureBox 顯示出來 */
imageView.Image = (Image) screenshot;
imageView.Update();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment