Windows 程序注册成服务的方法
Windows 程序注册成服务的方法
将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, , data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();
Thread.Sleep();
} }
}
}
改程序是循环在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 /d y /n >nul
echo create service ...
start c:\windows\SysWOW64\instsrv.exe ShowLog c:\windows\SysWOW64\srvany.exe
choice /t /d y /n >nul
net start ShowLog
echo install program will exit after three seconds
choice /t /d y /n >nul
“choice /t 2 /d y /n >nul”这句命令的目的是让程序暂停2秒钟。
当然卸载服务Uninstall.bat就很简单了,双击卸载该服务
@echo off
echo ShowLog.
net stop ShowLog
choice /t /d y /n >nul
start c:\windows\SysWOW64\instsrv.exe ShowLog remove
echo uninstall program will exit after two second
choice /t /d y /n >nul
Windows 程序注册成服务的方法的更多相关文章
- Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动
背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...
- 怎样把任意exe程序注册成windows系统服务(手动注册服务)
1. 要实现这个功能要用到微软提供的两个小工具“instsrv.exe”和“srvany.exe”(下载地址:http://www.cr173.com/soft/64394.html). 先下载这两个 ...
- Windows Server下把BAT批处理注册成服务在后台运行且注销后能正常运行
批处理有如下特点: 1.登录到当前窗口运行时,如果关闭控制台会连同启动的程序一起关闭. 2.如果是以start /b的形式启动,那么同样也是在控制台关闭后者注销当前窗口也会一起关闭. 3.如果以vbs ...
- 把任意exe程序注册成windows系统服务
某gae代理软件每次开机都需要手动启动,就算添加成开机启动项,在win8.1下权限的管理更加严格,开机时并不能成功启动软件(无人值守时开机),因此在网上搜索把exe注册成系统服务的办法,找到论坛两个帖 ...
- 怎样把exe程序注册成系统服务
怎样把exe程序注册成系统服务 最近一段时间我们公司开发一款新的产品,要在服务器上运行一个服务端程序,为了方便我就希望能将这个程序注册成系统服务开机自动启动而不用每次重启系统都要手动启动程序.要实现这 ...
- WCF之Windows宿主(可安装成服务自动并启动)
WCF之Windows宿主(可安装成服务自动并启动) 创建解决方案WCFServiceDemo 创建WCF服务库(类库或WCF服务库)WCFService ,添加引用System.ServiceMo ...
- 使用NSSM把任意exe程序注册成Windows服务
1.登录NSSM官网下载最新版本: http://www.nssm.cc/download 2.解压之后可以看到win32和win64位的nssm.exe,根据自己的电脑选择使用 3.拷贝一份nssm ...
- 将BAT文件注册为服务的方法
一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany.exe是Microsoft Windows Resource Kits工具集中 的两个实用工具,这 ...
- 把解压缩版的tomcat6注册成服务并设置自启动
操作步骤: 1.在“开始 ”→“运行 ”中输入cmd 命令,进入MS-DOS界面 2.cd 到tomcat的bin目录下 C:/> cd tomcat/bin 3.运行命令servi ...
随机推荐
- div自身高度、屏幕高度
获取元素高度 scrollWidth //显示当前元素的宽度 scrollHeight //显示当前元素的高度 scrollLeft //显示当前元素的左边距左侧的距离 scroll ...
- gulp inline
在html中所有需要内敛的文件 script link 后面都要写上inline 这样才能够,内敛到文件中.
- MyBatis源码解析【1】准备工作
终于迎来了这一天,我觉得现在的我在经历了长时间的学习和开发之后有了一定的经验,所以准备开始学习源码. 今天我将做好充足的准备,在接下来的一个月中,努力的爬过这座大山.(可能不用一个月,但是我觉得需要仔 ...
- 4个小时实现一个HTML5音乐播放器
技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐 ...
- vijos1011题解
题目: 顺治喜欢滑雪,这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待太监们来载你.顺治想知道载一个区域中最长的滑坡.区域 ...
- 常见的排序算法总结(JavaScript)
引言 排序算法是数据结构和算法之中的基本功,无论是在笔试还是面试,还是实际运用中都有着很基础的地位.这不正直七月,每年校招的备战期,所以想把常见的排序算法记录下来.在本篇文章中的排序算法使用 Java ...
- Spring3中@Value注解的使用
Spring可以通过@Value注解来直接获取properties文件里面配置的值. 1. 首先要在spring的配置文件中指明properties文件的位置: <context:propert ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等
本节及后面的内容将会探索更加有意思的内容,更加逼近实际的使用的内容.我们本节内容不难,讲的是释放Ability时的信息传递: 第一步:创建一个GA称为GA_AOE_BlindVengeance,复仇忌 ...
- @Component @Controller @Service @Repository@Resourse
@Component @Controller @Service @Repository@Resourse这些全部是Spring提供的注解. 其中@Component用来表示把一个类纳入spring容器 ...
- 【Spring】关于SpringMvc监听的知识点
一,在使用Spring系列框架时,我们需要在Web.xml配置Spring的监听:ContextLoaderListener ContextLoaderListener的作用就是,在Web容器初始化时 ...