从NT服务启动Windows程序
通常,NT服务是控制台应用程序,它没有消息循环。不必等到用户登陆电脑,NT服务便能启动,并且在用户登出之后,它也不会停止运行。然而,许多现存的ActiveX控件很难,有时候根本不可能在控制台程序中使用。
另一方面,MFC和VB程序都是Windows应用程序,所以在MFC或VB程序中使用ActiveX控件相当简单。要是能使MFC和VB程序像NT服务一样运行就不错了:
• 在用户登陆电脑之前就启动
• 在用户登出电脑之后继续运行
可以用Windows程序的形式直接写NT服务,但是本文要提供一个更简单的解决方法。本文配套源代码是一个简单的NT服务程序,它能够启动和关闭其它程序。所有你需要做的是安装这个服务,修改.ini文件。下面是使用此NT服务的好处。
• 它能够启动你指定的任意多个程序。被启动的程序将像 NT 服务一样运行(例如,不用用户登陆机器,它们便会在后台运行)。
• 在没有合适特权情况下,用户不能终止由此服务启动的程序(除非机器关闭)。
• 你可以在 NT 服务之外测试和调试你的程序。例如,你可以在 DevStudio 调试器中运行你的程序,单步进入源代码中查找错误等。当“调试无错”后,你将它配置成产品,从 NT 服务启动它。
XYNTService
XYNTService.exe是此NT服务程序可执行文件的名字。它是我研发的客户-服务器开发工具的一