Windows下创建自定义服务的正确姿势(Instrsrv&Srvany)「建议收藏」

Windows下创建自定义服务的正确姿势(Instrsrv&Srvany)「建议收藏」总览WindowsNT工具包(WindowsNTResourceKit)提供了两个小工具,可以让我们创建自定义服务(适合于NT应用和一些16进制应用,批处理除外)。两个工具包的下载地址:CSDN下载Instrsrv.exe:从系统安装和移除服务Srvany.exe:主要作用是将任何应用程序处理成为一个可以作运行的服务明细步骤按照以下步骤操作,来创建用户自定义服务:(为…

大家好,又见面了,我是你们的朋友全栈君。

总览

Windows NT工具包(Windows NT Resource Kit)提供了两个小工具,可以让我们创建自定义服务(适合于NT应用和一些16进制应用,批处理除外)。两个工具包的下载地址:CSDN下载
Instrsrv.exe:从系统安装和移除服务

Srvany.exe:主要作用是将任何应用程序处理成为一个可以作运行的服务

明细步骤


按照以下步骤操作,来创建用户自定义服务:

(为了简化说明,以下示例假设我将两个工具放到了C:\Tools文件夹下面)

运行cmd,输入以下命令:

C:\Tools\INSTSRV.EXE MyService C:\Tools\SRVANY.EXE

在实际操作中,注意将C:\Tools替换成你自己的路径
MyService 是要创建的服务名称,可以根据需要自定义

示例:

C:\Tools\Instsrv.exe Notepad C:\Tools\Srvany.exe

 

注意: 操作完成后,为了验证是否安装成功,需要到注册表下面检查ImagePath 键:ImagePath 键的注册表路径:

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\servicename

 

如果ImagePath键的值是SRVANY.EXE的完整路径(C:\Tools\Srvany.exe),说明设置正确,否则会报 Event ID 7000 “The service name failed to start.” 错误。

风险提示: 新手提前做好注册表备份。

 

 

  1. 运行注册表编辑器(Regedt、Regedt32.exe),然后找到以下路径:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<MyService>

  2. 选中<MyService>,右键选择新建-项,或者点击编辑菜单, 点击编辑-新建-项. 输入以下信息后确认:

    项名称: Parameters

  3. 选中刚才新建的Parameters.
  4. 在右侧空白处点击鼠标右键,新建-字符串值,输入以下信息后确认:

    名称: Application
    类型: REG_SZ
    数据: <path>\<application.ext>

    其中<path>\<application.ext>是到可执行程序的绝对路径。 (例如:C:\windows\Notepad.exe)

  5. 关闭注册表编辑器.

至此完成自定义服务的安装,默认情况下,新创建的服务被配置为自动启动. 如果需要更改,运行服务管理器(services.msc),找到创建的服务,在服务属性中更改为相应的启动类型.

启动服务的几种方法:

– 从服务管理器启动

– 在命令提示符下启动:

 

NET START <My Service>

– 使用 Sc.exe 命令(早期版本这个命令在windows工具包中存在,Windows7专业版下默认已安装):

 

<path>\Sc.exe start <My Service>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137863.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux lvm扩容

    Linux lvm扩容Linuxlvm扩容一、格式化##Fdisk/dev/sdb##Command(mforhelp):t#转换类型##Hexcode(typeLtolistcodes):L#查看可用类型:##Hexcode(typeLtolistcodes):8e#修改为8e,即LinuxLVM类型##Command(mforhelp):w#保存并退出##mkfs-text4/dev/sdb(centos6)…

    2022年6月20日
    20
  • C#TextBox密码框

    C#TextBox密码框WebForm中的TextBox控件作为密码框(如图1)时,需要把TextMode属性设置为Password(如图2),而且要在Page_Load中使用Attributes赋值。protectedvoidPage_Load(objectsender,EventArgse){ReaderPassword.Attributes[“value”]=ReaderPassword.Text;}学习自:https://blog.c

    2022年7月25日
    11
  • OkhttpClient的使用详解

    **概述及特性**HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽。OkHttpClient是一个高效的HTTP客户端,它有以下默认特性:支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接连接池减少请求延时透明的GZIP压缩减少响应数据的大小缓存响应内容,避免一些完全重复的请求当网络出现问题的时候OkHttp依…

    2022年4月1日
    40
  • 三阶魔方还原公式_三阶魔方顶层小鱼口诀

    三阶魔方还原公式_三阶魔方顶层小鱼口诀1.第二层棱块归位:2.顶层十字3.顶层棱中间块归位这一步的目的是使顶层的4个棱中间块全部归位。转动顶层(U),若可以使一个棱中间块归位(如下图左,这里以[红-黄]块为例),而其他3个都

    2022年8月6日
    12
  • h5页面 请在微信客户端打开链接_完美解决 请在微信客户端打开链接

    h5页面 请在微信客户端打开链接_完美解决 请在微信客户端打开链接原标题:完美解决请在微信客户端打开链接背景描述相信有模拟微信页面请求的测试都有看到过这个页面,简单点说就是爬虫爬微信页面,进行回放的时候会出现这个页面。大概在1年前,专门安排了一个人去解决这个技术问题,遗憾的是当时没有找到解决方案,接下来所有微信端的接口测试和性能测试都无法进行,今天和大家分享下我们的解决方案,希望大家可以绕过微信的坑。业务场景我这里以JMeter来举例,我们可以通过在JMet…

    2022年6月8日
    33
  • leetcode #77 in cpp[通俗易懂]

    leetcode #77 in cpp[通俗易懂]Giventwointegers n and k,returnallpossiblecombinationsof k numbersoutof1… n.Forexample,If n =4and k =2,asolutionis:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]

    2022年9月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号