将Windows应用程序注册为服务运行




将Windows应用程序注册为服务运行
从网络上下载如下2个exe,放到程序运行目录。
instsrv.exe
srvany.exe


编写脚本,将应用程序注册为服务。ServiceReg_TestWriteFile.bat

@echo off
rem 定义服务名称
set service_name=TestWriteFile
rem 定义服务描述
set service_description=TestWriteFile
rem 定义服务可执行文件,%~dp0表示批处理文件所在目录
set service_exe=%~dp0TestWriteFile.exe
rem 安装服务
"%~dp0instsrv.exe"  %service_name%  "%~dp0srvany.exe"
rem 设置服务描述
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%" /v "Description" /t REG_SZ /d %service_description% /f
rem 设置服务启动类型 1是系统2是自动3是手动4是禁用
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%" /v "Start" /t REG_DWORD /d 3 /f
rem 设置服务启动的应用程序
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%\Parameters" /v "Application" /t REG_SZ /d "%service_exe%" /f
rem 设置服务程序所在目录
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%\Parameters" /v "AppDirectory" /t REG_SZ /d "%~dp0\" /f
rem 设置应用程序的参数
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%\Parameters" /v "AppParameters" /t REG_SZ /d "-servicename=%service_name%" /f
rem 设置服务允许与桌面交互
sc config %service_name%  type= interact type= own
rem 取消服务与桌面交互
rem sc config %service_name% type= own
rem 启动服务
sc start %service_name%
pause


编写脚本,删除服务。ServiceUnReg_TestWriteFile.bat

@echo off
rem 定义服务名称
set service_name=TestWriteFile
rem 停止服务
sc stop %service_name%
rem 卸载服务
"%~dp0instsrv.exe" %service_name% remove

双击运行ServiceReg_TestWriteFile.bat,即可将应用程序注册为服务

双击运行ServiceUnReg_TestWriteFile.bat,即可删除服务



猜你喜欢

转载自blog.csdn.net/dgyanyong/article/details/52996842
今日推荐