在Windows服务模式中启用系统托盘图标
在Windows服务模式中启用系统托盘图标
我有一个现有的GUI应用程序,应该作为服务实现。基本上,我需要能够远程登录和注销Windows 2003服务器,同时仍然保持此程序运行。
这真的可能吗?
编辑:进一步的精化是...我没有源代码,这不是我的应用程序。
admin 更改状态以发布 2023年5月21日
有没有人使用过像Always Up这样的第三方产品?
看起来它可以满足我的需求。我需要它具有在登录/注销周期中持续运行的能力。并且忽略它是一个GUI应用程序,仍然在运行它。
他们必须手动链接到exe并调用WinMain或类似的东西。
Windows服务不能有GUI界面,所以你需要把GUI删除或将应用程序分成两部分 - 一个没有UI的服务和一个"控制器"应用程序。如果你有源代码,将非GUI代码转换为服务很容易 - Visual Studio有一个"Windows服务"项目类型,可以为你处理包装,还有一个简单的步骤指南,教你如何创建一个部署项目来管理安装。
如果你选择第二种方式,需要将一些原始GUI代码放入一个控制器中,控制器和服务可以通过WCF、.NET Remoting或使用你自己定义的协议的普通套接字连接来通信。如果你使用Remoting,请确保使用"chunky"接口,尽可能少地调用方法传输数据 -每次调用都有相当大的开销。
如果用户界面相当简单,你可以使用配置文件输入和日志文件或Windows事件日志输出。