Windows 程序注册成服务的方法
2017-08-04 09:38
260 查看
Windows 程序注册成服务的方法
将windows 程序注册成服务这个是很多后台程序需要实现的功能,注册成服务后,你的程序就可以像windows 服务一样随系统启动,并且隐藏你的控制台界面。下面介绍一个网上流传最广泛的方法。就是Instsrv.exe + Srvany.exe .
srvany.exe是什么?srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动。
第一步:编写好我们的控制台程序 .
改程序是循环在E 盘写文件。
第二步:编辑注册表,好让系统启动我们的程序。配置的方法是,开始 - 运行 - regedit,打开注册表,定位到下面的路径。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
工程实施的时候手动添加肯定是很头疼的一件事,所以我们写一个reg 文件。
这个文件双击就可以进行自动添加注册表了。
第三步:注册服务。
我们需要把instsrv.exe 和 srvany.exe 拷贝至system32 目录下(64位拷贝到syswow64目录下)
安装方法:instsrv ServiceName C:\Windows\System32\srvany.exe
卸载方法:instsrv ServiceName remove
现在我们这这些过程写进批处理文件Install.bat,就不用我们一个一个的敲命令了。
“choice /t 2 /d y /n >nul”这句命令的目的是让程序暂停2秒钟。
当然卸载服务Uninstall.bat就很简单了,双击卸载该服务
将windows 程序注册成服务这个是很多后台程序需要实现的功能,注册成服务后,你的程序就可以像windows 服务一样随系统启动,并且隐藏你的控制台界面。下面介绍一个网上流传最广泛的方法。就是Instsrv.exe + Srvany.exe .
srvany.exe是什么?srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动。
第一步:编写好我们的控制台程序 .
namespace showlog { class Program { static void Main(string[] args) { while(true) { FileStream fs = new FileStream("E:\\ak.txt", FileMode.OpenOrCreate|FileMode.Append); //获得字节数组 byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!"); //开始写入 fs.Write(data, 0, data.Length); //清空缓冲区、关闭流 fs.Flush(); fs.Close(); Thread.Sleep(1000); } } } }
改程序是循环在E 盘写文件。
第二步:编辑注册表,好让系统启动我们的程序。配置的方法是,开始 - 运行 - regedit,打开注册表,定位到下面的路径。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
工程实施的时候手动添加肯定是很头疼的一件事,所以我们写一个reg 文件。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ShowLog\Parameters] "Application"="C:\\Users\\lining\\Desktop\\Debug\\showlog.exe" "AppDirectory"="C:\\Users\\lining\\Desktop\\Debug" "AppParameters"=""
这个文件双击就可以进行自动添加注册表了。
第三步:注册服务。
我们需要把instsrv.exe 和 srvany.exe 拷贝至system32 目录下(64位拷贝到syswow64目录下)
安装方法:instsrv ServiceName C:\Windows\System32\srvany.exe
卸载方法:instsrv ServiceName remove
现在我们这这些过程写进批处理文件Install.bat,就不用我们一个一个的敲命令了。
@echo off echo move file... set curDir=%~dp0 set chargereg=%curDir%showlog.reg copy %curDir%instsrv.exe c:\\windows\\SysWOW64\\instsrv.exe copy %curDir%srvany.exe c:\\windows\\SysWOW64\\srvany.exe echo reg ... start %chargereg% choice /t 2 /d y /n >nul echo create service ... start c:\windows\SysWOW64\instsrv.exe ShowLog c:\windows\SysWOW64\srvany.exe choice /t 2 /d y /n >nul net start ShowLog echo install program will exit after three seconds choice /t 2 /d y /n >nul
“choice /t 2 /d y /n >nul”这句命令的目的是让程序暂停2秒钟。
当然卸载服务Uninstall.bat就很简单了,双击卸载该服务
@echo off echo ShowLog. net stop ShowLog choice /t 2 /d y /n >nul start c:\windows\SysWOW64\instsrv.exe ShowLog remove echo uninstall program will exit after two second choice /t 2 /d y /n >nul
相关文章推荐
- windows服务编写和“以管理员运行”程序的方法
- .exe 应用注册成windows 服务方法........
- 监听程序未启动或数据库服务未注册到该监听程序解决方法
- Windows 注册 Services 服务的方法
- 免装版tomcat注册成windows系统服务方法
- 免装版tomcat注册成windows系统服务方法
- 免装版tomcat注册成windows系统服务方法
- ORACLE“监听程序未启动或数据库服务未注册到该监听程序”解决方法
- 如何用 C 注册 windows 服务程序 (分析 Java Service Wrapper 代码)
- 任意程序作为Windows服务运行方法
- 手动注册Windows服务解决方法
- windows服务程序调试方法 - 启动直接进入调试
- 把java 程序注册为windows 服务
- 免装版tomcat注册成windows系统服务方法
- 将JAVA程序做成WINDOWS服务的方法
- Windows 自定义exe文件注册系统服务方法(Inber write)
- 将bat文件注册为windows系统服务的方法
- Windows服务程序的一种简捷实现方法
- 如何将tomcat注册成windows系统服务方法
- c# 调试Windows服务程序的方法