代码改变世界

使用SvrAny和InstSvr将应用程序作为Window服务启动

2010-08-13 17:59 by Colin Han, ... 阅读, ... 评论, 收藏, 编辑

如果你想让一个任意的执行文件以Windows Service的方式执行,可以使用微软Windows 2000 Resource Kit中的InstSrv和SrvAny来实现。

为了方便期间,你可以直接从这里下载到这两个执行文件。

第一步,你先要在系统中注册一个新的服务,并且指定服务的执行文件为SrvAny.exe。通过命令行执行如下的命令:

instsrv   [服务名]   c:/path/to/srvany.exe

注意你需要为自己的服务起一个唯一的名字,并且确保路径正确。

这样,通过“控制面板/管理工具/服务”打开服务管理界面,就可以看到你新添加的服务了。

接下来,需要配置这个服务来执行你指定的应用程序。这一点需要通过修改注册表来实现。在注册表“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\”目录下可以找到你新添加的这个服务。

为这个目录添加一个“项”,命名为“Parameters”。并在Parameters项下添加一个字符串值,命名为“Application ”,值为你的执行文件的完整路径。

在“Parameters”目录下添加一个新字符串值,命名为“AppDirectory”,值为你期望的执行程序的当前文件夹。一般为这个执行文件所在文件夹。

如果你需要为执行程序指定参数,可以新建一个字符串值“AppParameters” ,值为你期望的参数。

最后,你可以通过“控制面板/管理工具/服务”面板配置这个服务的更多的设置。然后启动这个服务即可。