====== 在 C# 中抓取指定視窗的畫面截圖 ======
Ref: http://dan.zzhc.org/post/3617137304/capture-window-with-c-sharp
/* 引入 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();
}
====== Techotopia: C# Essentials ======
http://www.techotopia.com/index.php/C_Sharp_Essentials
====== 在背景中下載檔案 ======
http://msdn2.microsoft.com/zh-tw/library/ms229675(VS.80).aspx
====== 用 WebClient 模擬 IE 6.0 連線 ======
http://blog.roodo.com/chhuang/archives/3605951.html
====== C# 教學課程 ======
http://msdn.microsoft.com/library/CHT/csref/html/vcoriCSharpTutorials.asp
====== 全域鍵盤事件攔截(Low Level Keyboard Hook) ======
http://aaronmind.blogspot.com/2009/01/clow-level-keyboard-hook.html
====== Windows Service ======
http://blog.miniasp.com/post/2009/02/Add-Installer-for-Windows-Service-and-Setup-Windows-Firewall-rule.aspx
====== C# 4.0 新特性:動態型別、選用參數、具名參數 ======
http://blog.miniasp.com/post/2009/02/CSharp-40-New-Features-Dynamic-Lookup-and-Named-and-Optional-Arguments.aspx
====== 以 C# 撰寫多執行緒 (Multi-threading) 相關學習資源整理 ======
http://blog.miniasp.com/post/2009/03/Multi-Threading-in-CSharp-Learning-Resources.aspx
====== 在 C# 中抓取指定視窗的畫面截圖 ======
http://dan.zzhc.org/post/3617137304/capture-window-with-c-sharp
/* 引入 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();
}
====== .NET Reflector ======
http://www.red-gate.com/products/reflector/
.NET Reflector enables you to easily view, navigate, and search through, the class hierarchies of .NET assemblies, even if you don't have the code for them. With it, you can decompile and analyze .NET assemblies in C#, Visual Basic, and IL.