您的位置:首页 > 其它

使用instsrv.exe和srvany.exe创建windows服务

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

          将srvany.exe和instsrv.exe拷贝到C:\Windows\System32\后,64位系统需要同时复制到C:\Windows\SysWow64\下,我们可以通过下面的命令行进行srvany.exe的服务安装卸载:

          安装:instsrv
ServiceName C:\Windows\System32\srvany.exe


        卸载:instsrv ServiceName remove


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

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

        同样的ServiceName是你刚才安装服务时自定义的服务名称。

  如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
        名称 Application 值为你要作为服务运行的程序地址。

        名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。

        名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。

       

  启动服务正常运行。

       正常情况下停止了srvany.exe的服务的话,srvany.exe和你的服务程序.exe进程应该会停止,到如果调用的是bat程序,bat里调用的程序不会停止。

      我是把一个bat设置成了系统服务,bat里是php xxx.php,当停止了srvany.exe服务,需要在进程管理里结束掉php.exe。

       

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: