嗨,我正在尝试在C#.net中创建一个应用程序,以捕获当前活动屏幕的屏幕截图,包括必须使用滚动条滚动的区域。我发现以下代码可以进行屏幕截图。非常清楚,我希望代码获取活动窗口的屏幕截图,包括未显示且仅通过使用滚动条才能显示的区域。非常感谢您的帮助。
public static void PrintWindow(IntPtr hwnd)
{
try
{
RECT rc;
GetWindowRect(hwnd, out rc);
Bitmap bmp = new Bitmap(rc.Width, rc.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics gfxBmp = Graphics.FromImage(bmp);
IntPtr hdcBitmap = gfxBmp.GetHdc();
PrintWindow(hwnd, hdcBitmap, 0);
gfxBmp.ReleaseHdc(hdcBitmap);
gfxBmp.Dispose();
string guid = Guid.NewGuid().ToString();
if (!AllOneColor(bmp))
{
bmp.Save(@"C:\Users\Dhibi\Desktop\" + guid + ".Png", ImageFormat.Png);
}
}
catch (Exception ex)
{
//System.Windows.MessageBox.Show(ex.Message);
}
}