将BAT文件注册为服务的方法 (含64位)【转载】

【转自:http://blog.sina.com.cn/s/blog_50d43ad50101cmh3.html】

第一步:

    下载微软系统小工具 instsrv.exe和srvany.exe至C:\Windows\System32。
第二步:
    运行Dos命令代码:instsrv ServiceName C:\Windows\System32\srvany.exe    
    (ServiceName 即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。) 
※64位系统会出现以下错误
Unable to find the file at the given path
解决方法:【转自:https://www.cnblogs.com/hyamw/p/5772369.html】
   将instsrv和srvany程序在windows/sysWow64目录下再copy一份
第三步:
    打开注册表,定位到下面的路径。 
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName 
    (同样的ServiceName是你刚才安装服务时自定义的服务名称。) 
    如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。 
    名称 Application 值为你要作为服务运行的BAT文件地址。 
    名称 AppDirectory 值为你要作为服务运行的BAT文件所在文件夹路径。 
    名称 AppParameters 值为你要作为服务运行的BAT文件启动所需要的参数。 
 
 
注意:
此方法注册好的服务,无法通过sc stop停止。(在服务中启动、关闭服务似乎无效,只有重启才会生效 )
解决方法:使用procexplorer,查询srvany.exe的子进程node。sc stop之后,找到该node子进程,kill掉。
posted @ 2018-08-06 10:00  habibah_chang  阅读(486)  评论(0编辑  收藏  举报