把任意exe程序注册成windows系统服务的教程(instsrv.exe)

https://jingyan.baidu.com/article/db55b609cec6ba4ba30a2f88.html

https://blog.csdn.net/dyyshb/article/details/80446439

 

 相关文件下载地址

软件名称:instsrv.exe srvany.exe 打包(可将程序安装成windows服务)
软件大小:49KB
更新时间:2013-09-24

 https://www.lanzous.com/i763k8j

https://www.jb51.net/softs/106494.html

http://jvniu.jb51.net:81/201309/tools/instsrv_srvany(jb51.net).rar

 

方法一:

怎样把任意exe程序注册成windows系统服务?每次开机都需要手动启动,就算添加成开机启动项,在win8.1下权限的管理更加严格,开机时并不能成功启动软件,下面我们看看实现过程吧

 

1、要实现这个功能要用到微软提供的两个小工具“instsrv.exe”和“srvany.exe”。先下载这两个程序然后放在同一个目录,我是直接放在D盘的,然后进入到DOS命令行下面输入如下命令注册服务:

d:\instsrv.exe tjserver d:\srvany.exe        //tjserver是服务名

这个命令是把srvany.exe这个程序注册成了系统服务

2、然后进入注册表在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下找到刚刚注册的服务名tjserver,在tjserver新建一个项,名称为“Parameters”,单击选中它然后在右侧的窗口新建一个字符串值名称为“Application”,将其值设置为你针要做为服务运行的程序的路径,例如我的路径为“D:\\tools\\tjs.exe”。这里特别要注意的是程序路径一定要写得跟前面的例子一样,也是就是中间是用双斜杠隔开,不然服务没办法自动启动。如果你需要把自己注册的服务做得看起来更专业也更好理解的话还可以继续新建一个字符串值名称为“Description”,在其值里面你可以输入你想显示的服务描述。

3、还有一点特别要注意的是,如果你要做为服务运行的程序是在运行后需要界面的,我们可以在控制面板里面找到管理工具然后打开服务或者直接运行“Services.msc”命令打开服务,找到刚刚创建的服务右键打开属性,选中登陆选项卡,登陆身份选中本地系统帐户并选中允许服务与桌面交互最后点确定,这样你的服务在启动后就可以看到界面了。

4、删除注册的服务

先停止服务,然后用命令“d:\instsrv.exe tjserver remove”删除服务

网上还有一种和功能和instsrv.exe一样的界面操作的程序,名称为“srvinstw.exe”,只需要点点鼠标就可以完成上面的第一步,详细使用方法就不说了,很简单的。

 

方法二:

使用windows自带的命令InstallUtil.exe
步骤:
1。运行--〉cmd:打开cmd命令框
2。在命令行里定位到InstallUtil.exe所在的位置
InstallUtil.exe 默认的安装位置是在C:/Windows/Microsoft.NET/Framework/v2.0.50727里面,所以你要在cmd里通过cd定位到该位置(cd C:/Windows/Microsoft.NET/Framework/v2.0.50727)
3。操作命令:
1). 安装服务命令:在命令行里输入下面的命令:
InstallUtil.exe  Path/WinServiceName.exe
其中Path表示ServiceName.exe所在的位置,回车即可
2).  启动服务命令
net start ServiceName
ServiceName是真正的Service的名称(ServiceBase.ServiceName),跟.exe的名称可能一样,也可能不一样。如果不清楚,就到已安装的服务里面找到你的服务,右键属性里面看服务名称
3). 停止服务命令
net stop ServiceName
4). 卸载服务命令:在命令行里输入下面的命令:
InstallUtil.exe /u  Path/WinServiceName.exe
其中Path表示ServiceName.exe所在的位置,回车即可

 

方法三:

使用windows自带的命令sc.exe

使用sc create 方法创建。

如:sc create CaptureScreen binpath= F:\zwmei-project\decklink-learning\OutputBitmap\Debug\OutputBitmap.exe type= own start= auto displayname= Screen_Capture其中 CaptureScreen为服务名,可以在系统服务中找到,(通过在命令行运行services.msc打开系统服务)。

binpath为你的应用程序所在的路径。

displayname为服务显示的名称,

这个在注册表中可以找到,(通过在命令行中输入regedit打开注册表,在HKEY_LOCAL_MACHINE -- SYSTEM -- CurrentControlSet 下找到你的服务显示名)

注意:在sc命令中,=号前面不能有空格,而=号后面必须有一个空格,切记。另外要以管理员的身份打开命令行。这种方法不一定能成功,如果你的exe不符合服务的规范,可能会启动失败。

 

相关推荐

网友评论(0)