我有一个应该已作为服务实现的现有GUI应用程序.基本上,我需要能够远程登录和退出Windows 2003服务器,并仍然保持此程序运行.
这甚至可能吗?
编辑:这里进一步细化...我没有源,它不是我的应用程序.
Windows服务不能有GUI,因此您需要摆脱GUI或将应用程序分成两部分 - 一个没有UI的服务和一个"控制器"应用程序.如果你的源代码,非GUI代码转换为服务很容易 - Visual Studio中有一个"Windows服务"的项目类型负责包装的对你,有一个简单的演练,展示了如何创建一个负责安装的部署项目.
如果您选择了第二条路线,需要把一些原来的GUI代码到控制器,控制器和服务可以与你自己定义的协议通过WCF,.NET远程处理或纯套接字连接进行通信.如果您使用远程处理,请务必使用"粗略"接口,该接口使用尽可能少的方法调用来传输数据 - 每次调用都有相当大的开销.
如果UI非常简单,您可以使用输入和日志文件的配置文件或输出的Windows事件日志.
有没有人使用过第三方产品:Always Up?
似乎做我需要的.它能够持续运行我需要的登录/注销周期.并且能够忽略它是一个GUI应用程序并运行它无论如何.
它们必须手动链接到exe并调用WinMain或其他东西.