zoukankan      html  css  js  c++  java
  • srvany.exe和instsrv.exe_2

    https://www.cr173.com/soft/64394.html

    软件介绍

     

    要把应用程序添加为服务,你需要两个小软件:Instsrv.exe和Srvany.exe。Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。这两个软件都包含在Windows NT Resource Kit里,如果你没有,也可以在本站下载 instsrv.exe和 srvany.exe。

     

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

    如何使用:

    当你获取到srvany后并决定将某程序作为服务启动后,请先将srvany安装为系统服务,具体的安装方法有很多,这里使用instsrv,语法如下:

    安装 instsrv ServiceName C:WindowsSystem32srvany.exe   
    卸载 instsrv ServiceName remove

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

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

    如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。

    名称 Application 值为你要作为服务运行的程序地址。

    名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
    名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。

    比如这里是个配置实例,我们这里配置的服务名称是NGINX,其余是nginx的安装配置情况。

    导入注册表的方法:

    当然还有一个比较简单的做法,那就是将下面的文本保存为*.reg文件,然后双击导入注册表。

    Windows Registry Editor Version 5.00 
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices服务名称Parameters]

    "Application"="值为你要作为服务运行的程序地址"
    "AppDirectory"="值为你要作为服务运行的程序所在文件夹路径"
    "AppParameters"="值为你要作为服务运行的程序启动所需要的参数" 

    至此,MyService已经安装成windows服务了,在Window服务项中即可查看。

    批处理说明:

    1. run-install.bat 封装了安装服务的操作(上面有提到)。需要传入参数有服务名称,程序名称。

    @echo off

    rem 参数依次为 服务名称 可执行文件名称
    @echo 服务名称:%1
    @echo 程序名称:%2

    rem 定义需要运行的程序路径
    set curExe=%~dp0%2
    rem 定义注册表路径
    set regpath=HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMyServiceParameters
    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 注册表添加完成

    2.install.bat 命令含义:进入当前目录,调用当前目录下的run-install.bat文件,并传入参数,完成服务安装。服务名:MyService 执行程序:Console.exe
    @echo off
    cd /d %~dp0
    call run-install.bat  MyService Console.exe
    pause

    3.run-del.bat 简单封装了卸载服务的操作,传入服务名称即可。

    @echo off

    rem 参数依次为 服务名称
    @echo 服务名称:%1

    rem 进入当前目录
    cd /d %~dp0
    rem 卸载引导服务
    instsrv %1 remove

    4.del.bat 命令含义:进入当前目录,调用当前目录下的run-del.bat文件,并传入参数,完成服务卸载。服务名:MyService
    @echo off
    cd /d %~dp0
    call run-del.bat  MyService
    pause

  • 相关阅读:
    刷新
    自定义背景色
    会议通js
    Flex Layout Attribute
    spin.js
    jq size()与length的区别
    初识node.js
    [Swift]归并排序 | Merge sort
    [Swift]桶排序 | Bucket sort
    [Swift]计数排序 | Counting sort
  • 原文地址:https://www.cnblogs.com/zhoading/p/14076749.html
Copyright © 2011-2022 走看看