虚拟桌面截图

Posted

技术标签:

【中文标题】虚拟桌面截图【英文标题】:Virtual desktop screenshot 【发布时间】:2015-11-09 18:14:48 【问题描述】:

我正在使用互操作 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 都没有关系。

【问题讨论】:

【参考方案1】:

如果桌面未激活,您将无法截屏。 据我所知,唯一的事情就是对窗口进行截图,并以某种方式将窗口的位置作为桌面截图。

【讨论】:

以上是关于虚拟桌面截图的主要内容,如果未能解决你的问题,请参考以下文章

Windows 热键笔记

Citrix 虚拟桌面HDX协议下无法安装todesk等软件

实用快捷键

在VMW 虚拟桌面环境下 VC总是提示 计算虚拟磁盘空间

linux桌面版本重启网卡报错

VirtualBox中安装Ubuntu12.04/Ubuntu14.04虚拟机