我是一名经验丰富的Delphi开发人员,他希望创建类似无缝终端服务的东西,其中应用程序在服务器上执行但出现在客户端的桌面上。
对于在服务器上工作的人,我不希望他们看到远程应用程序正在运行(除非他们查看正在运行的进程列表)。
我迷失了如何解决这个问题,从何处着手,如何让应用程序渲染到服务器桌面之外的表面。
任何建议都会受到最高的赞赏。
答案 0 :(得分:3)
从2008年开始,终端服务(已经重新命名为远程桌面服务)提供的RemoteApps完全符合您的描述。 Citrix(XenApp)可以在所有Windows(服务器)版本上执行此操作。因此,在决定自己重新创建产品之前,您可能需要查看这些产品。
如果您决定继续,这个link可能会很有趣,这是一个名为“扩展Microsoft的终端服务客户端以提供无缝Windows”的示例项目
答案 1 :(得分:1)
根据您的描述,我会说您应该考虑编写Windows服务(而不是终端服务)并使用进程间通信(IPC)系统来获取状态信息给“客户端”应用程序可以由相应的用户在同一台机器上运行,也可以通过网络运行。
我自己,我使用RemObjects SDK来完成这一点,这使我的客户端应用程序看起来只是在进行函数调用,但实际上它们会转到实现它们的服务器。然后,服务器可以在一个(或多个)线程中继续其作业,并且所有用户界面都在客户端中完成,该客户端使用IPC通道找出要显示的内容。