1

我的问题是关于从所有桌面(默认、UAC 屏幕、Winlogon、屏幕保护程序)安装 Windows Vista 或更高版本的远程服务器上捕获屏幕。如何在没有用户本地登录或通过 RDP 登录的情况下实现此目的。问题是 Vista 中的变化带来了 Windows 服务与桌面的隔离。我在这里和那里找到了一些解决该问题的信息:

但不幸的是,我没有看到任何好的解决方案。我想获得类似 Windows 远程桌面连接克隆的东西。换句话说,带有某种服务器的 Windows 机器,我可以远程连接到它并从中获取屏幕截图。

有一个名为TightVNC的软件可以满足我的需要,但它的源代码是C++,所以我很难找到如何克服 Windows 限制的主要思想。也许有人可以告诉?

提前感谢您的帮助。

4

2 回答 2

0

TightVNC 服务器实现 RFB 协议。它是一项类似于 Microsoft 的 RDP(远程桌面协议)的服务,虽然简单得多。

TightVNC 服务器还有自己的编码(称为紧密),支持编码的客户端允许您指定图像压缩和质量。

了解这两种协议都不会像您想象的那样向您提供“远程屏幕截图”。发送图形更新,您应该管理图像帧缓冲区并不断更新它(尽管您可以要求远程 VNC 服务器每次都向您发送完整更新,但即便如此,服务器也会将“图像”分解为发送它们之前的各种矩形)。RDP 客户端要复杂得多(请参阅 FreeRDP 项目)。

但是,您的目标似乎是在没有 Microsoft RDP 的情况下进行远程访问。在这种情况下,您只需要远程桌面上的 VNC 服务(如 TightVNC),以及您将要连接的系统上的 VNC 客户端(如 TightVNC 的客户端)。除非网络配置,否则您应该一切顺利。

于 2015-06-08T10:21:03.067 回答
0

您可以从模拟登录用户的服务启动进程 (exe)。这使您可以进行屏幕截图。

您需要一个单独的应用程序来进行屏幕截图,因为它必须在新进程中启动。

更多详情: https ://stackoverflow.com/a/45095509/125406

于 2017-07-14T05:58:23.697 回答