截屏并保存屏幕中的鼠标。截屏比较简单,使用CopyFromScreen就可以做到,但保存屏幕中的鼠标却不能用this.Cursor属性,需要使用到API。
private void button1_Click(object sender, EventArgs e)
{
Size screenSize = Screen.PrimaryScreen.WorkingArea.Size;
Image myimage = new Bitmap(screenSize.Width, screenSize.Height);
Graphics g = Graphics.FromImage(myimage);
g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(screenSize.Width, screenSize.Height));
CURSORINFO pci;
pci.cbSize = Marshal.SizeOf(typeof(CURSORINFO));
GetCursorInfo(out pci);
System.Windows.Forms.Cursor cur = new System.Windows.Forms.Cursor(pci.hCursor);
cur.Draw(g, new Rectangle(pci.ptScreenPos.X, pci.ptScreenPos.Y, cur.Size.Width, cur.Size.Height));
pictureBox1.Image = myimage;
}
private const Int32 CURSOR_SHOWING = 0x00000001;
[DllImport("user32.dll")]
static extern bool GetCursorInfo(out CURSORINFO pci);
[StructLayout(LayoutKind.Sequential)]
private struct CURSORINFO
{
public Int32 cbSize;
public Int32 flags;
public IntPtr hCursor;
public Point ptScreenPos;
}
原文链接: C#图像处理:截图程序(包含鼠标)