【问题标题】:Capturing screen on a remote Windows server (Windows Vista or later)在远程 Windows 服务器(Windows Vista 或更高版本)上捕获屏幕
【发布时间】:2015-08-18 21:04:26
【问题描述】:

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

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

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

提前感谢您的帮助。

【问题讨论】:

    标签: c++ vnc vnc-server tightvnc


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的回答。不幸的是,我需要创建自己的服务,将桌面图像发送给客户端,这就是我不能使用 TightVNC 或类似产品的原因。所以我想了解如何在最新的 Windows 操作系统上做这样的服务。
    • @cyril.andreichuk 另外,请查看 www.openframeworks.cc。第一次没想到。有各种附加组件(ofxXMPP、ofxGSTStreamer、ofxLibNice)可用于创建视频流并进行 NAT 横向处理。我试过这个(虽然,只是捕获和发送我的网络摄像头)到远程系统,效果很好。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多