2种方法将exe注册为windows服务,直接从后台运行
方法1 sc 命令行创建
方法2 使用instsrv+srvany
什么是instsrv+srvany
instsrv.exe.exe和srvany.exe是Microsoft Windows Resource Kits工具集中 的两个实用工具,这两个工具配合使用可以将任何的exe应用程序作为window服务运行。
srany.exe是注册程序的服务外壳,可以通过它让应用程序以system账号启动,可以使应用程序作为windows的服务随机器启动而自动启动,从而隐藏不必要的窗口
下载
安装
- 将instsrv.exe和srvany.exe拷贝到C:\WINDOWS\SysWOW64目录下
- 管理员运行 cmd
- 运行命令:instsrv MyService C:\WINDOWS\SysWOW64\srvany.exe
注意:Myservice是自定义的服务的名称,可以根据应用程序名称任意更改,多个服务运行多次
还有一个注意的点:当你的系统是32位,需要将 将instsrv.exe和srvany.exe拷贝到C:\WINDOWS\system32目录下,运行命令同样也是 instsrv MyService C:\WINDOWS\system32\srvany.exe
遇到 'instsrv' 不是内部或外部命令,也不是可运行的程序或批处理文件。 是因为运行的目录下没有exe程序,看下图切换
运行成功!
配置
- 打开注册表:(cmd中输入:regedit)
- ctrl+F,搜索Myservice(之前自定义的服务名称)
- 右击Myservice新建项,名称为Parameters
- 之后在Parameters中新建几个字符串值
- 名称 Application 值:你要作为服务运行的程序地址。
- 名称 AppDirectory 值:你要作为服务运行的程序所在文件夹路径。
- 名称 AppParameters 值:你要作为服务运行的程序启动所需要的参数。
之后启动服务Myservice即可后台运行exe!