Win10如何设特定程序结束自懂关机_Win10程序监听法【步骤】

技术百科 看不見的法師 发布时间:2026-01-27 浏览:
可通过三种方法实现程序结束自动关机:一、批处理+tasklist循环检测;二、PowerShell脚本监听进程退出;三、任务计划程序绑定安全日志事件ID 4689。

如果您希望在某个特定程序(如视频渲染软件、大型下载工具或编译任务)运行结束后自动触发关机,而非依赖固定时间或倒计时,则需通过监听该程序的进程生命周期来实现。以下是实现此目标的多种可行方法:

一、使用批处理+tasklist循环检测法

该方法利用Windows内置命令持续检查目标进程是否存在,一旦进程退出即执行关机指令,无需第三方工具,兼容所有Win10版本(含家庭版)。

1、按Win + R打开“运行”窗口,输入notepad并回车,新建记事本。

2、在记事本中输入以下内容(将notepad.exe替换为您要监听的实际程序名,例如ffmpeg.exechrome.exe):

@echo off
:loop
tasklist /nh /fi "imagename eq notepad.exe" | findstr /i "notepad.exe" >nul
if %errorlevel% == 0 (ping -n 3 127.0.0.1 >nul & goto loop) else (shutdown -s -f -t 0)

3、点击“文件”→“另存为”,保存类型选“所有文件”,文件名输入watch_close.bat,编码选择ANSI或UTF-8无BOM。

4、双击运行该批处理文件前,请先手动启动目标程序;批处理将保持后台运行并每3秒检测一次,目标程序关闭后立即强制关机。

二、借助PowerShell脚本实现精准进程监听

PowerShell提供更稳定的进程对象监控能力,支持等待指定进程完全终止后再执行动作,避免因进程短暂挂起导致误判。

1、右键桌面空白处,选择“新建”→“文本文档”,重命名为autooff.ps1(注意扩展名必须为.ps1)。

2、右键该文件→“编辑”,粘贴以下代码(将"vlc.exe"替换为目标程序的完整进程名):

$procName = "vlc.exe"
Write-Host "正在监听进程:$procName"
do {
$p = Get-Process -Name $procName -ErrorAction SilentlyContinue
if ($p) { Start-Sleep -Seconds 2 }
} while ($p)
Write-Host "进程已退出,执行关机..."
Stop-Computer -Force

3、以管理员身份运行PowerShell:右键“开始”按钮→“终端(管理员)”,执行命令:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser(允许本地脚本运行)。

4、在管理员PowerShell中输入完整路径并回车运行脚本,例如:C:\Users\YourName\autooff.ps1

三、使用Task Scheduler绑定进程退出事件(高级免值守方案)

此方法通过Windows事件日志机制捕获目标程序进程终止事件(Event ID 4689),再触发关机动作,全程后台静默运行,不依赖持续轮询,系统资源占用极低。

1、按下Win + R,输入eventvwr.msc并回车,打开事件查看器。

2、依次展开左侧树状目录:Windows 日志 → 安全,右侧点击“筛选当前日志”,在“事件ID”框中输入4689,点击“确定”确认该事件存在(需确保“审核进程跟踪”策略已启用)。

3、返回桌面,按Win + R输入taskschd.msc打开任务计划程序,点击右侧“创建任务”(非“基本任务”)。

4、在“常规”选项卡中命名任务(如“程序结束关机”),勾选“使用最高权限运行”和“配置为:Windows 10”。

5、切换至“触发器”选项卡→“新建”→“开始任务:基于事件”→日志选“安全”,事件ID填4689,在“XML”选项卡中勾选“编辑查询并在XML视图中手动编辑”,点击“是”,在内插入以下过滤段(将Process Name.*vlc\.exe替换为目标程序名):

6、切换至“操作”选项卡→“新建”→操作选“启动程序”,程序或脚本填shutdown.exe,参数填-s -f -t 0,点击“确定”保存任务。


# windows  # 并在  # 请先  # 绑定  # 如果您  # 右键  # 勾选  # 工具  # win10  # win  # 扩展名  # 选项卡  # go  # 循环  # 对象  # if  # 编码  # xml  # chrome  # 事件  # Event  # while  # notepad  # bom  # select  # echo  # 树状  # ffmpeg  # shell脚本  # 批处理  # goto 


相关栏目: <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 AI推广<?muma echo $count; ?> 】 <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 SEO优化<?muma echo $count; ?> 】 <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 技术百科<?muma echo $count; ?> 】 <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 谷歌推广<?muma echo $count; ?> 】 <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 百度推广<?muma echo $count; ?> 】 <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 网络营销<?muma echo $count; ?> 】 <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 案例网站<?muma echo $count; ?> 】 <?muma $count = M('archives')->where(['typeid'=>$field['id']])->count(); ?> 【 精选文章<?muma echo $count; ?>

相关推荐

在线咨询

点击这里给我发消息QQ客服

在线咨询

免费通话

24h咨询:4006964355


如您有问题,可以咨询我们的24H咨询电话!

免费通话

微信扫一扫

微信联系
返回顶部