C# 虚拟桌面截图

C# 虚拟桌面截图,c#,screenshot,createprocess,C#,Screenshot,Createprocess,我正在使用interop C#创建虚拟桌面。然后,我将在内部启动一些程序 现在我需要不时地对这个桌面进行截图,并将其显示在表单上。它适用于当前活动桌面,但不适用于已创建的活动桌面 Bitmap screen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); Graphi

我正在使用interop C#创建虚拟桌面。然后,我将在内部启动一些程序

现在我需要不时地对这个桌面进行截图,并将其显示在表单上。它适用于当前活动桌面,但不适用于已创建的活动桌面

Bitmap screen = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
                          Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
Graphics ss = Graphics.FromImage(screen);
ss.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, 
                  Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);

我怎样才能达到这个目标?不管我是使用.NET函数还是WinAPI。

如果桌面未处于活动状态,则无法对其进行屏幕截图。 我所知道的唯一一件事就是截屏窗口,不知怎么的,在桌面截屏时窗口的位置