C#

[C#]PrintWindow를 이용한 화면캡쳐 예제

선영아 사랑해 2018. 5. 18. 13:46


using System.Runtime.InteropServices;


[DllImport("user32.dll")]
static extern bool PrintWindow(IntPtr hwnd, IntPtr hDC, uint nFlags);


private void button1_Click(object sender, EventArgs e)
{

          Graphics g = this.CreateGraphics();


          Bitmap bmp = new Bitmap(this.Width, this.Height, g);


          Graphics imgGraphics = Graphics.FromImage(bmp);

          

          IntPtr dc = imgGraphics.GetHdc();


          bool success = PrintWindow(this.Handle, dc, 0);

          

          imgGraphics.ReleaseHdc(dc);


          bmp.Save("test.bmp");


          bmp.Dispose();

}