using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
namespace zhuaScreen
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest, //目的DC的句柄
int nXDest, //目的图形的左上角的x坐标
int nYDest, //目的图形的左上角的y坐标
int nWidth, //目的图形的矩形宽度
int nHeight, //目的图形的矩形高度
IntPtr hdcSrc, //源DC的句柄
int nXSrc, //源图形的左上角的x坐标
int nYSrc, //源图形的左上角的x坐标
System.Int32 dwRop //光栅操作代码
);
private void button1_Click(object sender, EventArgs e)
{
Graphics g1 = this.CreateGraphics(); //获得窗体图形对象
Image MyImage = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height, g1);
Graphics g2 = Graphics.FromImage(MyImage); //创建位图图形对象
IntPtr dc1 = g1.GetHdc(); //获得窗体的上下文设备
IntPtr dc2 = g2.GetHdc(); //获得位图文件的上下文设备
BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);//写入到位图
g1.ReleaseHdc(dc1); //释放窗体的上下文设备
g2.ReleaseHdc(dc2); //释放位图文件的上下文设备
MyImage.Save("Captured.jpg", ImageFormat.Jpeg); //保存为jpeg文件
MessageBox.Show("保存图片在同目录下结束!");
}
}
}