必须用任务计划程序创建高权限开机任务:以管理员身份运行taskschd.msc,新建任务→勾选“不管用户是否登录都要运行”和“使用最高权限”→触发器设为“系统启动时”并延迟30秒→操作中指定完整路径→取消电源/空闲条件限制→启用“唤醒计算机”。

要在Windows 10中让某个程序在开机后自动运行,且必须确保它在用户登录前或刚登录时就启动(比如后台服务、监控脚本、自启工具),就得绕过“开机启动文件夹”这类浅层方案,直接用任务计划程序创建带权限控制的自定义开机任务。
打开任务计划程序并新建任务
按 Win + R 打开运行框,输入 taskschd.msc 回车;如果弹出用户账户控制(UAC)提示,点击“是”——【必须以管理员身份运行,否则后续勾选‘最高权限’会灰显失效】。
左侧导航栏展开到“任务计划程序库”,右键空白处 → 选择“创建任务”(不是“创建基本任务”,后者不支持关键权限和条件设置)。
配置任务常规属性
在“常规”选项卡中:输入任务名称,例如“开机启动微信PC版”;描述可填可不填。
勾选“不管用户是否登录都要运行”——这一步决定任务能否在锁屏、无人值守甚至系统刚加载完驱动时执行;【若只勾选‘仅当用户登录时’,则开机但未输密码前任务不会触发】。
勾选“使用最高权限运行”;下方“配置为”保持默认“Windows 10”即可。
注意:勾选“不管用户是否登录都要运行”后,系统会要求你输入当前账户密码——这是必须步骤,不能跳过,否则任务保存失败。
设置开机触发器
切换到“触发器”选项卡 → 点击“新建…”。
在“开始任务”下拉菜单中选择“在下列事件发生时” → 再从子菜单中选“登录时”(适用于用户手动登录场景);或者选“系统启动时”(更早,内核加载完毕即触发,适合无用户交互的后台程序)。
如果你希望程序只在特定用户登录时才启动,就选“登录时”;如果它是系统级工具(如日志采集器、网络探测脚本),务必选“系统启动时”——前者依赖Winlogon进程,后者由Session Manager直接调用,早约3~5秒。
勾选“延迟任务时间”并设为“30秒”:避免与系统初始化资源争抢,防止因explorer.exe尚未就绪导致GUI程序闪退。
指定要运行的程序或脚本
切换到“操作”选项卡 → 点击“新建…”。
操作选择“启动程序”;在“程序或脚本”框中,粘贴你要运行的完整路径,例如:C:\Program Files\Tencent\WeChat\WeChat.exe。
如果目标是Python脚本,必须填写“起始于(可选)”字段:填入脚本所在目录的绝对路径,否则import相对路径会报错;例如脚本在 D:\auto\check.py,则“起始于”填 D:\auto\。
参数栏留空(GUI程序不需要);如果是命令行工具,比如需要静默运行bat,可在参数栏加 /c start "" "D:\run.bat",但更推荐直接指向exe。
调整条件以适配开机环境
切换到“条件”选项卡:
取消勾选“只有在计算机使用交流电源时才启动此任务”——笔记本用户尤其注意,否则拔掉电源后任务永远不执行。
取消勾选“只有在计算机处于空闲状态时才启动此任务”——开机瞬间系统并不认为空闲,会跳过任务。
勾选“唤醒计算机运行此任务”:若你同时设置了BIOS RTC唤醒+该任务,就能实现真正意义上的“远程定时开机并立即执行”。
保存并测试任务
点击“确定”保存任务;回到主界面,在“任务计划程序库”中找到你刚建的任务,右键 → “运行”。
观察目标程序是否成功启动;若失败,双击任务 → “历史记录”选项卡查看错误代码(常见如0x80070005权限拒绝、0x80070002路径不存在)。
确认无误后,重启电脑,不登录、不碰键盘,等待30秒后观察程序是否自动出现——这才是真正生效的开机定时任务。











