2010-03-16 117 views
3

我是一位经验丰富的Delphi开发人员,希望创建类似无缝终端服务的应用程序在服务器上执行但出现在客户端桌面上。仿真终端服务

对于在服务器上工作的人,我不希望他们看到正在运行的远程应用程序(除非他们查看正在运行的进程列表)。

我失去了如何去做这件事,从哪里开始,如何让应用程序渲染到服务器桌面以外的表面。

任何建议将不胜感激。

+3

我建议你看看任何众多的开源VNC服务器和客户端,但是如果你想编写自己的程序,我假设你已经考虑过它们并拒绝它们;你介意分享一下你为什么不适合你的需求的原因吗? – 2010-03-16 04:51:09

+0

嗨,这是一个很好的建议,我没有考虑过看开源代码,但那可能是我应该做的。我仍然想写我自己的,而不是使用开源产品,因为它有一种学习体验。 – cloudstrif3 2010-03-17 00:00:01

回答

3

从2008年开始终端服务(已重新命名为远程桌面服务)提供的RemoteApps完全符合您的描述。 Citrix(XenApp)可以在所有的Windows(服务器)版本上执行此操作。所以你可能希望在决定自己重新创建它们之前先看看这些产品。

如果你决定去,这link可能是有趣的,这就是所谓的一个样本项目从你所描述的“扩展微软终端服务客户端提供无缝的Windows”

+0

感谢您的链接,我想创建自己的应用程序,只是因为购买现有的这样做的成本,我只需要非常基本的功能。 您提供的链接正是我希望达到的目标,但它取决于使用Microsoft的RDP协议。我想避免许可问题,并且需要终端用户在他们可以使用我的应用程序之前安装终端服务。但这确实给了我一个出发点。 – cloudstrif3 2010-03-16 23:54:38

1

,我会说,你应该在编写Windows服务(不是终端服务)并使用进程间通信(IPC)系统将状态信息发送到可由相应用户运行的“客户端”应用程序(无论是在同一台机器上还是另一台机器上)通过网络。

我自己,我正是这样使用RemObjects SDK这使得我的客户端应用程序看起来只是进行函数调用,但实际上他们去实现它们的服务器。然后,服务器可以在一个(或多个)线程中开始工作,并且所有用户界面都在客户端完成,该客户端使用IPC通道找出要显示的内容。