/* 目標視窗必須顯示在最上層 * 引入 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(); }
2011年7月4日 星期一
視窗截圖
嗨,大家好!我是一位資訊人、畫畫人、科技人和行銷人。定位自己為網路觀察家,永遠保持好奇心與熱情,學習跨領域新事物,希望最終能成為一個全方位的人。喜歡探索新技術和創意,並將其應用於工作和生活中。也喜歡畫畫、旅行、閱讀和寫作。希望我的部落格可以為您帶來啟發和樂趣,並與您分享我的經驗和見解。謝謝您的訪問,期待與您交流!
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言