Windows 11可通过五种方法实现应用结束自动关机:一、任务计划+批处理检测进程;二、PowerShell轮询监听;三、快捷方式命令链;四、WMI事件订阅;五、Process Monitor联动脚本。

如果您希望某个应用程序运行结束后自动触发关机操作,Windows 11 并未提供原生的“应用结束即关机”图形化开关,但可通过进程状态检测与命令行组合实现该逻辑。以下是实现此功能的具体步骤:
一、使用任务计划程序配合批处理脚本监测进程并关机
该方法通过周期性检查目标进程是否存在,一旦检测到进程已退出,立即执行系统关机命令,适用于任意可执行文件(.exe)启动的应用。
1、按下Win + R,输入notepad,回车打开记事本。
2、在记事本中粘贴以下内容(将YourApp.exe替换为实际程序名,例如chrome.exe或vlc.exe):
tasklist /nh /fi "imagename eq YourApp.exe" 2>nul | findstr /i "YourApp.exe" >nul
if %errorlevel% neq 0 (shutdown /s /t 0)
3、点击“文件”→“另存为”,保存路径设为C:\AutoShutdown.bat,保存类型选“所有文件”,编码选ANSI。
4、按下Win + R,输入taskschd.msc,回车打开任务计划程序。
5、右侧点击“创建基本任务”,命名为“监测应用并关机”,触发器设为“当计算机启动时”或“登录时”,操作选“启动程序”,程序路径填写C:\AutoShutdown.bat。
6、在任务属性中切换到“条件”选项卡,取消勾选“只有在计算机使用交流电源时才启动此任务”(如需电池下也生效)。
二、利用PowerShell脚本实时轮询进程并触发关机
PowerShell 提供更精确的进程生命周期监听能力,支持毫秒级检测间隔与异常退出捕获,避免批处理中可能出现的漏判。
1、右键开始菜单,选择“Windows Terminal(管理员)”或“PowerShell(管理员)”。
2、执行命令创建脚本文件:
Set-Content -Path "$env:USERPROFILE\Desktop\WatchAndShutdown.ps1" -Value @"
$AppName = \"YourApp.exe\"
do {
Start-Sleep -Milliseconds 500
} until (-not (Get-Process -Name $AppName.Split(\".\")[0] -ErrorAction SilentlyContinue))
shutdown /s /f /t 0
@"
3、以管理员身份运行PowerShell,执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
4、双击桌面生成的WatchAndShutdown.ps1文件,或在PowerShell中直接运行:
PowerShell -ExecutionPolicy Bypass -File "$env:USERPROFILE\Desktop\WatchAndShutdown.ps1"
5、在目标应用运行前先启动该脚本,脚本将在应用关闭后立即强制关机,不弹出确认提示。
三、通过快捷方式注入关机命令链(仅限单次手动执行)
该方法不依赖后台服务或计划任务,适用于临时场景:用户手动双击即启动应用,待其退出后自动关机,全程无需额外工具。
1、在桌面空白处右键 → 新建 → 快捷方式。
2、在“请键入对象的位置”框中输入(将C:\Path\To\YourApp.exe替换为实际路径):
cmd /c start \"\" \"C:\Path\To\YourApp.exe\" & timeout /t 3 /nobreak >nul & tasklist /nh /fi \"imagename eq YourApp.exe\" | findstr /i \"YourApp.exe\" >nul || shutdown /s /t 0
3、点击“下一步”,命名为“启动并关机版YourApp”。
4、右键新建的快捷方式 → 属性 → “快捷方式”选项卡 → 点击“高级” → 勾选“以管理员身份运行” → 确定。
5、双击该快捷方式,应用启动;关闭应用窗口后,系统将在3秒检测延迟后执行无警告关机。
四、使用WMI事件订阅实现进程退出即时响应
WMI(Windows Management Instrumentation)支持内核级进程终止事件监听,可在目标进程结束的瞬间触发关机动作,响应延迟低于100毫秒,适合对时效性要求极高的场景。
1、按下Win + R,输入powershell,回车启动PowerShell。
2、执行以下命令注册永久事件监听器(替换YourApp.exe):
$Query = "SELECT * FROM Win32_ProcessTermination WHERE ProcessName = 'YourApp.exe'";
$Action = New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "/s /f /t 0";
Register-WmiEvent -Query $Query -Action $Action -SourceIdentifier "AppExitShutdown"
3、保持PowerShell窗口开启,或使用Start-Process -FilePath PowerShell -ArgumentList "-WindowStyle Hidden -Command &{...}"后台驻留。
4、验证监听是否生效:启动YourApp.exe,正常关闭后系统将无任何提示直接关机。
五、借助第三方工具Process Monitor配置进程退出动作
Process Monitor(ProcMon)是微软官方Sysinternals套件中的高级诊断工具,虽默认用于监控,但结合其日志导出与外部脚本联动,可构建闭环关机流程。
1、访问learn.microsoft.com/sysinternals/downloads/procmon下载并解压ProcMon.exe。
2、以管理员身份运行ProcMon.exe,点击“筛选器”→“筛选器…”→添加条件:
Process Name is YourApp.exe and Operation is Process Exit。
3、点击“捕获”按钮开始监听,运行YourApp.exe并关闭,确保日志中出现对应Process Exit条目。
4、点击“文件”→“导出”,保存为C:\ProcExitLog.csv。
5、编写VBS脚本读取该CSV最新行,若含“Process Exit”且时间戳为当前分钟内,则调用shutdown.exe。










