Windows 11 通知中心导致 VSCode、thunderbird卡死的原因和解决方法
垃圾微软/阿三又开始作妖了,砍了测试人员,bug又出现了。自从更新Windows 11 25H2之后,又出现了一堆严重的问题,其中一个困扰了我好多天,我一直以为是VSCode或者thunderbird的问题,甚至还重装了系统也没用,今天灵机一动,发现是通知中心的问题。
场景
- 系统:Windows 11 25H2
- 软件:后台正在运行GitHub copilot的VSCode;或者最小化到系统托盘的thunderbird,即:任意会发送toast notification的软件
- 操作:上述软件工作的时候,桌面前台全屏另外一个软件,比如word
- bug:程序(VSCode/thunderbird)冻结卡死,只能通过任务管理器强制关闭;右侧通知栏彻底失效,不会展示新内容,无法操作
原因:本质上是系统损坏,至于原因,估计连微软自己都不知道。
1. 重置通知中心
- 按
Win + R打开运行 - 输入以下命令并回车:
PowerShell -ExecutionPolicy Unrestricted -Command "& {Get-AppxPackage *ShellExperienceHost* | Reset-AppxPackage}"2. 清除通知数据库
- 按
Win + R输入:%LocalAppData%\Microsoft\Windows\Notifications - 删除该文件夹中的所有文件(数据库本身无法删除,跳过/忽略即可)
- 重启电脑
3. 重新注册通知组件
以管理员身份打开PowerShell,依次运行:
Get-AppxPackage -allusers Microsoft.Windows.ShellExperienceHost | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
Get-AppxPackage -allusers windows.immersivecontrolpanel | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}DISM /Online /Cleanup-Image /RestoreHealth # 如果卡在62.3%也无所谓,直接重启电脑即可
sfc /scannow重启系统时,会出现系统更新等内容,请等待系统完成。
4. 执行清理操作
以管理员身份打开PowerShell,依次运行:
DISM /Online /Cleanup-Image /StartComponentCleanup
DISM /Online /Cleanup-Image /AnalyzeComponentStore以下内容已经失效
场景
- 系统:Windows 11 25H2
- 软件:后台正在运行GitHub copilot的VSCode;或者最小化到系统托盘的thunderbird
- 操作:上述软件工作的时候,桌面前台全屏另外一个软件,比如word
- bug:程序(VSCode/thunderbird)冻结卡死,只能通过任务管理器强制关闭
- 原因:通知功能的
自动启用“请勿打扰”,默认勾选了在全屏模式下使用应用时(优先级通知横幅也会隐藏)
现象:垃圾微软的垃圾阿三程序员,不知道写了什么bug,导致前台全屏的时候,后台所有消息都会被截断,不是接收了消息但是不提醒,而是截断消息。这一垃圾设计,导致VSCode/thunderbird等通过Toast notifications发现提醒的软件被强制阻断了,程序等待不到反馈,只能陷入卡死。关键是切换到VSCode/thunderbird后,即使没有其他程序在前台全屏了,这个bug也继续发光发热,彻底卡死通知中心本身。至此,后续所有的通知都无法接收并提醒,只能重启系统。
解决方法:很简单,如下图,设置>通知中直接取消勾选在全屏模式下使用应用时(优先级通知横幅也会隐藏)即可。
