会飞的鱼

2019
技术学习交流--用心学习--用心记录!
首页 » ▇ Win平台 » 利用srvany.exe将程序作为Windows服务运行

利用srvany.exe将程序作为Windows服务运行

srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。

安装 instsrv ServiceName C:\Windows\System32\srvany.exe 
卸载 instsrv ServiceName remove

(ServiceName 即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。)

安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 - 运行 - regedit,打开注册表,定位到下面的路径。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。如:D:\Services\SVNCheckServer\SVNCheck.exe

名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。如:D:\Services\SVNCheckServer\

名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。


blob.png

blob.png


install.bat

@echo off
rem 参数依次为 服务名称 可执行文件名称
@echo 服务名称:%1
@echo 程序名称:%2 rem 定义需要运行的程序路径
set curExe=%~dp0%2
rem 定义注册表路径
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\
rem 定义srvany.exe文件路径
set sourcePath=%~dp0srvany.exe rem 进入当前目录
cd /d "%~dp0"
rem 安装引导服务
instsrv %1 "%sourcePath%"
@echo 服务添加完成  
rem 添加注册表语法: reg add 注册表路径 /v 项名称 /t 值类型 /d 数据 /f 表示强行修改不提示 
rem 名称 Application 值为你要作为服务运行的程序地址 /d对应的参数有斜杠不是为了转义引号,而是路径还有斜杠,默认将引号转义了,额外添加斜杠是为了保留引号
reg add %regpath% /v AppDirectory /t REG_SZ /d "%~dp0\" /f   rem 名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径
reg add %regpath% /v Application /t REG_SZ /d "%curExe%" /f  rem 名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数
reg add %regpath% /v AppParameters /t REG_SZ /f
@echo 注册表添加完成

install.bat 命令含义:进入当前目录,调用当前目录下的 install.bat文件,并传入参数,完成服务安装。服务名:SVNCheckServer 执行程序:SVNCheck.exe

@echo off
cd /d %~dp0
call install.bat SVNCheckServer SVNCheck.exe
pause

运行uninstall.bat 卸载服务,传入服务名称即可。

@echo off
rem 参数依次为 服务名称
@echo 服务名称:%1   rem 进入当前目录
cd /d %~dp0
rem 卸载引导服务
instsrv %1 remove

uninstall.bat 命令含义:进入当前目录,调用当前目录下的uninstall.bat文件,并传入参数,完成服务卸载。服务名:SVNCheckServer

@echo off
cd /d %~dp0
call uninstall.bat SVNCheckServer
pause





文章如无特别注明均为原创! 作者: Eagle, 转载或复制请以 超链接形式 并注明出处 枫叶落
原文地址《 利用srvany.exe将程序作为Windows服务运行》发布于2016-6-8

分享到:
打赏

评论

切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册