远程控制API或如何启动?

bal*_*dre 2 api remote-desktop remote-control logmein copilot

如果通过任何改变我想开发自己的远程协助/屏幕共享工具以包含在我自己的CRM中,我应该去哪里?

我对沟通一无所知,但我想让自己参与这样的想法.我的问题是,创建LogMeIn/CoPilot/etc产品的基本知识和基本结构是什么?

我记得Joel在一个PodCast(几年前)谈过CoPilot,他用一个聪明的家伙用C++开发整个协议......

关于如何实现这一点的任何想法,或者是否有一个开放的API在那里等着我?

Bri*_*ndy 5

请参阅本文题为:VNC,Fog Creek Copilot和其他远程控制软件的工作原理.

我将在这里提供一些额外的细节,从博客文章中可以看到,但这更具体到Fog Creek Copilot源代码.所有这些数据都来自查看源代码.

基本上Copilot不是从头开始用C++编写的,而是基于GPL的TightVNC构建的.是的,这意味着还必须提供Copilot的主要来源.您可以在此处获取Fog Creek副驾驶源代码.据我了解,只要您将GPL设为GPL,您就可以从该项目的源代码构建解决方案.

该项目分为Mac版和Windows版.Mac版本是在目标C中构建的,Windows版本是在Win32 C++(而不是MFC)中构建的.对于Windows版本,在VS 2008中制作了一个Helper解决方案,在VS 2008中制作了一个Host解决方案(主机是被帮助的人).我认为他们没有使用Trolltech的Qt,因为它的链接大小很大,这很重要对他们来说,保持下载非常小,因为最初每个人都需要帮助每个人,每个人都需要帮助.

没有x64和IA64配置,因此Windows上的所有代码仅作为x86进程运行.它可以通过WOW64在64位窗口上运行,就像任何其他32位进程一样.

据我所知,开发工作主要是在VM上运行的主机上完成的.Helper的开发是在他们的桌面上完成的.

Copilot源代码使用boost 1.38和其他几个第三方库.这些库包括NAT穿越,MatrixSSL,libntlm(库为微软的NTLM身份验证)和omnithread(线程和同步库)绝技.

在大多数情况下,它使用bsd样式套接字,但它在boost :: asio中也有一些网络代码.这是有问题的,因为boost :: asio 1.38中有很多错误,它们在boost 1.40中得到修复.该项目还有一个windows hook dll,用于在主机上挂钩键盘,鼠标和其他Windows消息.

有一个shell项目,它不像windows shell,但基本上包含3个二进制文件:host,deleter和hooks dll.它提取这些.

他们没有给出的是Reflector和网站的源代码,正如我从projectaardvark.com上的一些博客文章中了解到的那样,它们都是C#,C++中的其他东西.反射器的目的是协助NAT遍历.取消projectaardvark.com的新博客称为空中交通.

VNC基于远程帧缓冲协议.如果您有很多协议经验,RFB协议本身并不困难.