如何将exe注册为windows服务,直接从后台运行

方法一:使用 windows 自带的命令 sc

首先我们要打开 cmd,下面的命令在 cmd 中运行,最好使用管理员运行 cmd

注册服务

sc create ceshi binpath= D:\ceshi\ceshi.exe type= own start= auto displayname= ceshi

binpath:你的应用程序所在的路径。

displayname:服务显示的名称

如何判断服务是否注册成功

在 cmd 中输入 services.msc 打开系统服务,查看是否出现 ceshi 名称的服务(即 displayname= 后面的参数,我这里是 ceshi

or

按下面的方式尝试启动服务

启动服务

net start ceshi

停止服务

net stop ceshi

删除服务

sc delete "ceshi"

方法二:使用 instsrv+srvany

使用方法一,如果你的 exe 不符合服务的规范,启动有可能会失败

这种情况下,我们使用 instsrv+srvany

什么是 instsrv+srvany

instsrv.exe.exe 和 srvany.exe 是 Microsoft Windows Resource Kits 工具集中 的两个实用工具,这两个工具配合使用可以将任何的 exe 应用程序作为 window 服务运行。

srany.exe 是注册程序的服务外壳,可以通过它让应用程序以 system 账号启动,可以使应用程序作为 windows 的服务随机器启动而自动启动,从而隐藏不必要的窗口

下载

链接:https://pan.baidu.com/s/1gKu_WwVo-TeWXmrGAr9qjw 提取码:s1vm

window64 位系统

安装

  1. 将 instsrv.exe 和 srvany.exe 拷贝到 C:\WINDOWS\SysWOW64 目录下
  2. 打开 cmd
  3. 运行命令:instsrv MyService C:\WINDOWS\SysWOW64\srvany.exe

注意:Myservice 是自定义的服务的名称,可以根据应用程序名称任意更改

运行成功!

配置

  1. 打开注册表:(cmd 中输入:regedit
  2. ctrl+F,搜索 Myservice(之前自定义的服务名称)
  3. 右击 Myservice 新建项,名称为 Parameters
  4. 之后在 Parameters 中新建几个 字符串值
  • 名称 Application 值:你要作为服务运行的程序地址。
  • 名称 AppDirectory 值:你要作为服务运行的程序所在文件夹路径。
  • 名称 AppParameters 值:你要作为服务运行的程序启动所需要的参数。

之后启动服务 Myservice 即可后台运行 exe!

window32 位系统

安装

  1. 将 instsrv.exe 和 srvany.exe 拷贝到 C:\WINDOWS\system32 目录下
  2. 打开 cmd
  3. 运行命令:instsrv MyService C:\WINDOWS\system32\srvany.exe

注意:Myservice 是自定义的服务的名称,可以根据应用程序名称任意更改

运行成功!

我这里是 64 位。

配置

  1. 打开注册表:(cmd 中输入:regedit)
  2. ctrl+F,搜索 Myservice(之前自定义的服务名称)
  3. 右击 Myservice 新建项,名称为 Parameters
  4. 之后在 Parameters 中新建几个字符串值
  • 名称 Application 值:你要作为服务运行的程序地址。
  • 名称 AppDirectory 值:你要作为服务运行的程序所在文件夹路径。
  • 名称 AppParameters 值:你要作为服务运行的程序启动所需要的参数。

之后启动服务 Myservice 即可后台运行 exe!