Win10如何设特定程序结束自懂关机_Win10程序监听法【步骤】
技术百科
看不見的法師
发布时间:2026-01-27
浏览: 次 可通过三种方法实现程序结束自动关机:一、批处理+tasklist循环检测;二、PowerShell脚本监听进程退出;三、任务计划程序绑定安全日志事件ID 4689。
如果您希望在某个特定程序(如视频渲染软件、大型下载工具或编译任务)运行结束后自动触发关机,而非依赖固定时间或倒计时,则需通过监听该程序的进程生命周期来实现。以下是实现此目标的多种可行方法:
一、使用批处理+tasklist循环检测法
该方法利用Windows内置命令持续检查目标进程是否存在,一旦进程退出即执行关机指令,无需第三方工具,兼容所有Win10版本(含家庭版)。
1、按Win + R打开“运行”窗口,输入notepad并回车,新建记事本。
2、在记事本中输入以下内容(将notepad.exe替换为您要监听的实际程序名,例如ffmpeg.exe或chrome.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; ?>
】
相关推荐
- Win10电脑怎么设置IP地址_Windows10
- Win11怎么开启智能存储_Windows11存储
- 如何使用Golang编写单元测试_创建Test函数
- 如何使用Golang搭建本地API测试环境_快速验
- 如何用::实现单例模式_php静态方法与作用域操作
- Windows系统时间服务错误_W32Time服务
- php中作用域操作符能访问私有静态属性吗_访问权限
- Windows Defender扫描失败怎么办_安
- ACF 教程:正确更新嵌套在多层 Group 字段
- Python文件管理规范_工程实践说明【指导】
- Python与MongoDB NoSQL开发实战_
- Windows10如何更改桌面图标间距_Win10
- Win11怎么开启专注模式_Windows11时钟
- 如何在 IIS 上为 ASP.NET 6 应用排除
- C++ STL算法库怎么用?C++常用算法函数(s
- SAX解析器是什么,它与DOM在处理大型XML文件
- php485在macos下怎么配置_php485
- Win11怎么设置按流量计费_Win11限制后台流
- 如何在 Go 应用中实现自动错误恢复与进程重启机制
- c++中的Tag Dispatching是什么_c
- XAMPP 启动失败(Apache 突然停止)的终
- Python类装饰器使用_元编程解析【教程】
- Win11怎么开启HDR模式_Windows 11
- C++中的协变与逆变是什么?C++函数指针与返回类
- 如何在 Go 中比较自定义的数组类型(如 [20]
- LINUX如何查看文件类型_Linux中file命
- 如何使用Golang反射将map转换为struct
- c++如何使用std::bitset进行位图算法_
- Mac版Final Cut Pro入门_Mac视频
- Windows10电脑怎么设置防火墙出站规则_Wi
- Golang如何遍历目录文件_Golang fil
- Win11怎么更改系统语言_Win11中文语言包下
- Python音视频处理高级项目教程_FFmpegP
- Windows10怎么卸载预装软件_Windows
- php增删改查在php8里有什么变化_新特性对cu
- Linux如何安装Tomcat应用服务器_Linu
- PythonPandas数据分析教程_数据清洗与处
- Python多进程教程_multiprocessi
- php本地部署支持nodejs吗_php与node
- Windows7怎么找回经典开始菜单_Window
- Windows10如何查看蓝屏日志_Win10使用
- 如何在JavaScript中动态拼接PHP的bas
- Win11如何设置文件关联 Win11修改特定文件
- 如何在 Go 项目开发中正确处理本地包导入与远程模
- Python迭代器生成器进阶教程_节省内存与懒加载
- Win11键盘快捷键大全_Windows 11常用
- Mac怎么安装软件_Mac安装dmg与pkg文件的
- Win11怎么开启移动热点_Windows11共享
- Windows怎样拦截QQ浏览器广告_Window
- PHP主流架构怎么部署到Docker_容器化流程【

QQ客服