實現 C# Winform截圖
using System.Runtime.InteropServices;
using System.Drawing.Imaging;
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest, // 目標 DC的控制代碼
int nXDest,
int nYDest,
int nWidth,
int nHeight,
IntPtr hdcSrc, // 源DC的控制代碼
int nXSrc,
int nYSrc,
System.Int32 dwRop // 光柵的處理數值
);
private void button1_Click(object sender, System.EventArgs e)
{
//獲得當前螢幕的大小
Rectangle rect = new Rectangle ( ) ;
rect = Screen.GetWorkingArea ( this ) ;
//建立一個以當前螢幕為模板的圖象
Graphics g1 = this.CreateGraphics ( ) ;
//建立以螢幕大小為標準的點陣圖
Image MyImage = new Bitmap ( rect.Width , rect.Height , g1 ) ;
Graphics g2 = Graphics.FromImage ( MyImage ) ;
//得到螢幕的DC
IntPtr dc1 = g1.GetHdc ( ) ;
//得到Bitmap的DC
IntPtr dc2 = g2.GetHdc ( ) ;
//呼叫此API函式,實現螢幕捕獲
BitBlt ( dc2 , 0 , 0 , rect.Width , rect.Height , dc1 , 0 , 0 , 13369376 ) ;
//釋放掉螢幕的DC
g1.ReleaseHdc ( dc1 ) ;
//釋放掉Bitmap的DC
g2.ReleaseHdc ( dc2 ) ;
//以JPG檔案格式來儲存
MyImage.Save ( @"c:/Capture.jpg" , ImageFormat.Jpeg );
MessageBox.Show ( "當前螢幕已經儲存為C盤的capture.jpg檔案!" ) ;
}
原帖:http://topic.csdn.net/t/20051009/10/4313747.html
在網上無意中找到了這個,貼到這裡,給大家分享一下..............
功能還是不夠完善,圖片有點模糊,因為現在沒涉及到這個,沒有去修改.......可以做下參考資料