首页 > 系统 > 正文

怎样把exe程序注册成系统服务

卡饭网 梦在深巷 2015-03-02 02:48:51

最近一段时间我们公司开发一款新的产品,要在服务器上运行一个服务端程序,为了方便我就希望能将这个程序注册成系统服务开机自动启动而不用每次重启系统都要手动启动程序。经过baidu和google这两位大神的帮助终于找到解决办法,在这里要用到微软提供的两个小工具“instsrv.exe”和“srvany.exe”。

Instsrv.exe可以给系统安装和删除服务

Srvany.exe可以让程序以服务的方式运行

1、先下载这两个程序然后放在同一个目录,我是直接放在D盘的,然后进入到DOS命令行下面输入如下命令注册服务

d:/instsrv.exe tjserver d:/srvany.exe //tjserver是服务名

这个命令是把srvany.exe这个程序注册成了系统服务

2、然后进入注册表在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services下找到刚刚注册的服务名tjserver,在tjserver新建一个项,名称为“Parameters”,单击选中它然后在右侧的窗口新建一个字符串值名称为“Application”,将其值设置为你针要做为服务运行的程序的路径,例如我的路径为“D://tools//tjs.exe”。这里特别要注意的是程序路径一定要写得跟前面的例子一样,也是就是中间是用双斜杠隔开,不然服务没办法自动启动。如果你需要把自己注册的服务做得看起来更专业也更好理解的话还可以继续新建一个字符串值名称为“Description”,在其值里面你可以输入你想显示的服务描述。

3、还有一点特别要注意的是,如果你要做为服务运行的程序是在运行后需要界面的,我们可以在控制面板里面找到管理工具然后打开服务或者直接运行“Services.msc”命令打开服务,找到刚刚创建的服务右键打开属性,选中登陆选项卡,登陆身份选中本地系统帐户并选中允许服务与桌面交互最后点确定,这样你的服务在启动后就可以看到界面了。

4、删除注册的服务

先停止服务,然后用命令“d:/instsrv.exe tjserver remove”删除服务

网上还有一种和功能和instsrv.exe一样的界面操作的程序,名称为“srvinstw.exe”,只需要点点鼠标就可以完成上面的第一步,详细使用方法就不说了,很简单的。

网络上有一个高人写了个批处理文件可以一键自动将exe程序注册成系统服务,为了方便和我有同样问题的人,我将程序和批处理文件压缩包的下载链接放在下面以供更多的人受益。