Windows系统提供了多种方式来将一个程序设置为开机启动,常见方式如下:
1. 任务计划:该方式稳定性低,用户注销时可能会使程序退出;
2. 注册表启动项:使用不方便、不稳定,系统可能会在高负载时跳过部分注册表启动项;
3. 启动文件夹:依赖用户登录,需要用户登录才能执行程序,无法在系统启动时运行;
4. 系统服务:稳定性高,最为推荐;但需要被启动的程序支持以服务模式运行。
有多种方式可以将程序添加到Windows系统服务中,常见的方式如下:
1. 使用Windows系统自带的 sc
命令,此方式简单直接,无需下载额外的软件;
2. 使用开源工具 nssm
,此工具号称能将任何程序添加Windows系统服务中,但实测并不成功。
注:Windows支持将exe、bat等任意程序添加到系统服务中,但这些程序必须支持以服务模式运行;如果程序不支持以服务模式运行,则无法添加到Windows系统服务中。尽管 nssm 号称可以将任何程序包装成支持服务模式的程序,但实测并不成功。
1. 创建服务:以管理员身份打开命令行,运行以下命令:
## MyServiceName 是服务名称
## binPath 是需要开机自启的可执行文件的完整路径(必须支持以服务模式运行,否则无法添加到系统服务)
## start= auto 是确保服务在系统开机时自动启动的选项
sc create MyServiceName binPath= "C:\path\to\your\program.exe" start= auto
2. 启动服务:以管理员身份打开命令行,运行以下命令:(也可以在“任务管理器” -> “服务” 中启动)
sc start MyServiceName
3. 删除服务:以管理员身份打开命令行,运行以下命令:
## 必须先停止删除,才能删除
sc stop MyServiceName
## 删除服务
sc delete MyServiceName