C# 程序的屏幕快照,但不是整个屏幕

C# 程序的屏幕快照,但不是整个屏幕,c#,screenshot,printscreen,C#,Screenshot,Printscreen,我对编程的世界很陌生,在尝试打印程序屏幕(以png格式保存到我的桌面)时遇到了一个问题。我最接近的方法是保存整个屏幕的屏幕截图 我使用的编码如下: Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Height, Screen.PrimaryScreen.Bounds.Width); Graphics graphics = Graphics.FromImage(printscreen as Image); graphics.C

我对编程的世界很陌生,在尝试打印程序屏幕(以png格式保存到我的桌面)时遇到了一个问题。我最接近的方法是保存整个屏幕的屏幕截图

我使用的编码如下:

Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Height, Screen.PrimaryScreen.Bounds.Width);
Graphics graphics = Graphics.FromImage(printscreen as Image);
graphics.CopyFromScreen(0, 0, 0, 0, printscreen.s);
printscreen.Save(@"C:\Payroll\" + txtName.Text + "_Payroll_" + dateTimePicker1.Text + ".png", ImageFormat.Png);
我不知道是否有任何方法可以达到我的目的


非常感谢您的帮助

为什么不把尺寸限制在你的窗户上呢?它的位置呢?可能重复。看起来您想要捕获活动窗口。请看这个线程:这似乎更深入地涉及互操作和Win32 api调用。这里有很多例子,所有这些都与下面的教程类似:为什么不将窗口大小限制在您的窗口上?它的位置呢?可能重复。看起来您想要捕获活动窗口。请看这个线程:这似乎更深入地涉及互操作和Win32 api调用。有许多示例,所有这些示例都与以下教程类似: