大家好,又见面了,我是你们的朋友全栈君。
总览
Windows NT工具包(Windows NT Resource Kit)提供了两个小工具,可以让我们创建自定义服务(适合于NT应用和一些16进制应用,批处理除外)。两个工具包的下载地址:CSDN下载 Instrsrv.exe:从系统安装和移除服务
Srvany.exe:主要作用是将任何应用程序处理成为一个可以作运行的服务
明细步骤
按照以下步骤操作,来创建用户自定义服务:
(为了简化说明,以下示例假设我将两个工具放到了C:Tools文件夹下面)
运行cmd,输入以下命令:
代码语言:javascript复制C:ToolsINSTSRV.EXE MyService C:ToolsSRVANY.EXE
在实际操作中,注意将C:Tools替换成你自己的路径 MyService 是要创建的服务名称,可以根据需要自定义
示例:
代码语言:javascript复制C:ToolsInstsrv.exe Notepad C:ToolsSrvany.exe
注意: 操作完成后,为了验证是否安装成功,需要到注册表下面检查ImagePath 键:ImagePath 键的注册表路径:
代码语言:javascript复制HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesservicename
如果ImagePath键的值是SRVANY.EXE的完整路径(C:ToolsSrvany.exe),说明设置正确,否则会报 Event ID 7000 “The service name failed to start.” 错误。
风险提示: 新手提前做好注册表备份。
- 运行注册表编辑器(Regedt、Regedt32.exe),然后找到以下路径: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices<MyService>
- 选中<MyService>,右键选择新建-项,或者点击编辑菜单, 点击编辑-新建-项. 输入以下信息后确认: 项名称: Parameters
- 选中刚才新建的Parameters.
- 在右侧空白处点击鼠标右键,新建-字符串值,输入以下信息后确认: 名称: Application 类型: REG_SZ 数据: <path><application.ext> 其中<path><application.ext>是到可执行程序的绝对路径。 (例如:C:windowsNotepad.exe)
- 关闭注册表编辑器.
至此完成自定义服务的安装,默认情况下,新创建的服务被配置为自动启动. 如果需要更改,运行服务管理器(services.msc),找到创建的服务,在服务属性中更改为相应的启动类型.
启动服务的几种方法:
– 从服务管理器启动
– 在命令提示符下启动:
代码语言:javascript复制NET START <My Service>
– 使用 Sc.exe 命令(早期版本这个命令在windows工具包中存在,Windows7专业版下默认已安装):
代码语言:javascript复制<path>Sc.exe start <My Service>
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137863.html原文链接:https://javaforall.cn