远程管理应用程序中使用的技术(不是RD)

我想知道现在使用什么样的技术作为远程管理软件的底层屏幕捕获引擎 VNC 的pcAnywhere 的TeamViewer RAC Remote 管理员 等等.. 编程语言并不是那么重要,只需知道是否需要开发一个每秒轮询30次视频内存的驱动程序,或者Windows内核中是否有任何com对象来帮助实现这一点?我对第三方组件不感兴趣。我必须使用DirectX设施吗?只是想要一些起点来开发我自己的屏幕流捕获引擎,这将减少CPU占用量。     
已邀请:
对于VNC,有一些与VNC兼容的开源工具,例如TightVNC和我认为UltraVNC,所以你可以下载代码并看一看。 这是下载TightVNC源码的链接: http://www.tightvnc.com/download/1.3.10/tightvnc-1.3.10_winsrc.tar.bz2     
PcAnywhere和RDP使用自定义协议,尝试传输尽可能少的数据 - 例如,传输窗口和控件属性(而不是窗口的图像),让客户端渲染窗口。因此,非常适合Windows(并不总是准确显示屏幕上的内容)。它们还提供更多安全性。 另一方面,VNC更通用,只是简单地传输屏幕的位图(或png,jpeg或其他编码)。为了防止必须每秒30次传输整个屏幕的图像,它仅发送自上次更新以来已经改变的区域。     
DirectShow过滤器似乎是最流行的方式。使用Windows Media Encoder查看此答案以记录屏幕。那里有一些很好的链接。 Windows Media Encoder SDK也是一个选项,但要求用户正确安装和配置它。在Bing或Google上搜索“Windows Media Encoder SDK”和“Screen Capture”,您应该会看到很多论坛帖子。 对于采用大量屏幕截图方法,可以在http://gpalem.web.officelive.com/screencap.html上找到有关此操作的文章,包括各种方法和来源。 UltraVNC的帮助可以在http://www.uvnc.com/onlinehelp/8.html上谈谈他们的镜像视频驱动程序。它对细节有所了解,但暗示了它们是如何做到的。 我相信你捕获的方式会受到你的协议的严重影响。你需要整个屏幕吗?三角洲?商业和开源计划的主要协议列表可以在.... http://en.wikipedia.org/wiki/Remote_desktop_software 一个详尽的程序列表,包括它们的协议和功能,可以在...... http://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software 正如浩所说,你可以看看其他人是如何做到的。当然,取决于应用程序的许可证。第二个维基百科链接有超过15个使用各种屏幕捕获/传输技术和协议的开源程序。     

要回复问题请先登录注册