我如何运行Windows GUI应用程序作为服务?

我有一个应该作为服务实现的现有GUI应用程序。 基本上,我需要能够远程登录和退出Windows 2003服务器,并仍然保持此程序运行。

这甚至有可能吗?

编辑:进一步细化在这里...我没有来源,这不是我的应用程序。


Windows服务不能具有GUI,因此您需要摆脱GUI或将应用程序分成两部分 - 一个没有UI的服务和一个“控制器”应用程序。 如果您有源代码,将非GUI代码转换为服务非常简单 - Visual Studio具有一个“Windows服务”项目类型,可以为您打包,并且有一个简单的演练,向您展示如何创建一个将负责安装的部署项目。

如果您选择第二条路线并需要将一些原始GUI代码放入控制器中,则控制器和服务可以通过WCF,.NET Remoting或普通套接字连接与您自己定义的协议进行通信。 如果你使用远程处理,一定要使用一个“矮胖”的接口,尽可能少的方法调用传输数据 - 每次调用都有相当的开销。

如果用户界面非常简单,那么您可以避开使用输入和日志文件的配置文件或输出的Windows事件日志。


有没有人使用第三方产品:Always Up?

似乎做我需要的。 这是通过我需要的登录/注销周期继续运行的能力。 并且能够忽略它是一个GUI应用程序并且无论如何运行它。

他们必须手动链接到exe文件并调用WinMain或其他东西。


你可以把它包装到srvany中,虽然你可能需要为它分配一个实际的用户帐号(而不是LocalService或类似的)

链接地址: http://www.djcxy.com/p/3045.html

上一篇: How can I run a Windows GUI application on as a service?

下一篇: Convert string to Date in java