Windows 开机自启动的多种方式
1070 字
5 分钟
Windows 开机自启动的多种方式
引言
每次开机都要手动打开一堆程序?效率太低了。Windows 提供了多种开机自启动机制,从简单的注册表到强大的计划任务,各有适用场景。
本文系统地梳理了所有开机自启动方式,文末还附带了跳过 UAC 弹窗的实用方案。
1. 注册表启动项(最常用)
最常见也最简单的自启方式,适合普通应用程序。
位置一览
| 位置 | 路径 | 作用域 |
|---|---|---|
| 系统级 | HKLM\...\Run | 所有用户 |
| 32 位系统级 | HKLM\...\Wow6432Node\Run | 32 位程序的系统级启动 |
| 用户级 | HKCU\...\Run | 当前用户 |
| 新用户默认 | HKCU\DEFAULT\...\Run | 新建用户的模板 |
| Session 管理器 | HKLM\SYSTEM\...\Session Manager | 系统服务级别的启动 |
完整路径:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKCU\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKCU\DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceHKLM\SYSTEM\CurrentControlSet\Control\Session Manager启动目录(当前用户):
%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup用法
在注册表 Run 键下新建一个字符串值,名称随意,值为程序的完整路径。或者直接把快捷方式拖到启动目录里。
2. 计划任务(schtasks)— 跳过 UAC
如果你需要程序以管理员权限开机自启,但不想每次都看到 UAC 弹窗,计划任务是最优雅的解法。
基础命令
SchTasks /Create /TN "任务名称" /SC 频率 /TR "程序路径" /RL 运行级别参数详解
| 参数 | 作用 |
|---|---|
/SC | 触发频率:ONLOGON(登录时)、ONSTART(开机时)、ONCE(一次性)等 |
/RL HIGHEST | 以最高权限运行,关键就在于这个参数 |
/TR | 要执行的程序路径 |
/TN | 任务名称 |
/F | 强制覆盖已存在的任务 |
/DELAY mmmm:ss | 延迟执行时间 |
/IT | 仅在用户登录时交互运行 |
/NP | 不存储密码 |
/RU | 指定运行账户 |
/ST HH:mm | 指定开始时间 |
实战例子
;登录时启动 cmd(跳过 UAC)SchTasks /Create /TN "cmdSkipUAC" /SC ONLOGON /TR "C:\Windows\System32\cmd.exe" /RL HIGHEST
;登录时启动 MouseIncSchTasks /Create /TN "MouseIncSkipUAC" /SC ONLOGON /TR "E:\PortableApp\0\MouseInc\MouseInc.exe" /RL HIGHEST
;开机时启动风扇控制SchTasks /Create /TN "MyFanControl" /SC ONSTART /TR "E:\PortableApp\0\MyFanControl\MyFanControl.exe" /RL HIGHEST
;登录时启动 Ditto(剪贴板工具)SchTasks /Create /TN "DittoSkipUAC" /SC ONLOGON /TR "E:\PortableApp\0\Ditto\Ditto.exe" /RL HIGHEST其他计划任务操作
;手动运行schtasks /run /TN "任务名称"
;查询所有任务schtasks /query
;更改任务属性schtasks /change
;删除任务schtasks /delete /TN "任务名称"
;中止运行中的任务schtasks /end /TN "任务名称"3. 创建系统服务
可以把程序注册为 Windows 服务实现开机自启,但不推荐。
sc create 服务名称 binPath= 文件路径 start= auto type= own displayname= 显示名称参数说明:
| 参数 | 可选值 |
|---|---|
type= | own、share、interact、kernel、filesys |
start= | auto(自动)、demand(手动)、disabled(禁用)、delayed-auto(延迟启动) |
binPath= | .exe 文件的完整路径 |
DisplayName= | 在服务管理器里看到的名称 |
删除服务:
sc delete 服务名称⚠️ 为什么不推荐? Windows 服务由系统账户启动,权限较高。普通程序(尤其是带 GUI 的)在服务环境下运行可能会有账户交互问题,而且不容易被普通用户管理。
除非你知道自己在做什么,否则优先考虑计划任务或注册表启动。
4. 服务启动类型详解
通过注册表直接管理服务的启动类型:
HKLM\SYSTEM\ControlSet001\Services\<服务名称>| 启动类型 | Start 值 | 说明 |
|---|---|---|
| 延迟自动 | Start=2, DelayedAutostart=1 | 系统启动后稍等再启动 |
| 自动 | Start=2 | 随系统启动 |
| 手动 | Start=3 | 按需启动 |
| 禁用 | Start=4 | 不启动 |
强行停止服务(当服务管理器灰色不可用时)
;获取 PIDsc queryex <服务名称>
;杀掉进程taskkill /F /PID <PID>
;修改启动类型reg add "HKLM\SYSTEM\ControlSet001\Services\AppXSvc" /v Start /t REG_DWORD /d 4
;删除失败恢复动作reg delete "HKLM\SYSTEM\ControlSet001\Services\AppXSvc" /v FailureActions方法对比总结
| 方法 | 适合场景 | 能否跳过 UAC | 复杂度 |
|---|---|---|---|
| 注册表 Run | 普通桌面程序 | ❌ | ⭐ |
| 启动目录 | 快速添加 | ❌ | ⭐ |
| 计划任务 | 需要管理员权限的程序 | ✅ | ⭐⭐ |
| 服务 | 后台守护程序 | ✅ | ⭐⭐⭐ |
技巧:开机自启的服务推荐关闭
- Connected User Experiences and Telemetry(DiagTrack)— 诊断跟踪,可以禁用
小结
选择哪种自启方式取决于你的需求:普通程序放注册表 Run,需要管理员权限又想跳过 UAC 就用计划任务,只有真正的后台服务才考虑注册为 Windows 服务。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
Windows 文件类型关联机制详解
经验教程双击文件时 Windows 怎么知道该用哪个程序打开?assoc 和 ftype 命令背后是什么原理?手把手教你自定义文件关联。
2
Windows 用户账户控制(UAC)指南
经验教程深入理解 Windows UAC 机制,从等级设置到应用兼容性再到右键菜单快速切换运行权限,一篇搞定。
3
(目录) Windows 自定义设置指南
经验教程从 UAC 到注册表,从 Explorer 到命令行——一个重度 Windows 用户多年积累的配置技巧全系列。
4
Windows 实用工具脚本合集
经验教程ADB 连接模拟器、强删文件、ms-settings 快速跳转、QQ 缓存清理……日常 Windows 使用中最实用的小脚本汇总。
5
Windows 文件资源管理器(Explorer)
经验教程从符号链接到镜像劫持,从隐藏文件夹到任务栏美化,30+ 个实用技巧让你的 Windows Explorer 更好用。
随机文章随机推荐














