win10 移除通知中心列表中已卸载的app图标
• • ☕️ 1 min read环境
- windows 10 1607
- 具有sqlite数据库编辑功能的软件,如navicat
原理
微软把这些推送通知相关的数据存储在了一个SQLite数据库中,由于程序卸载后没有调用hook,导致项目残留。
数据库位置
%localappdata%\Microsoft\Windows\Notifications\wpndatabase.db
执行SQL语句批量处理废弃应用
主要处理的是非UWP应用,根据特征(PrimaryId中带有explorer.notification)可以识别。批量删除,无需重启,立即生效。
```sql delete from NotificationHandler where HandlerType = 'app:desktop' and PrimaryId like '%explorer.notification%' ```
问题到此已经完美解决了。
后记
由于一开始以为微软是写在注册表里面的,所以找来找去只找到了一串explorer.notification{xxx}
形式的键名,所在键位为HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\
,以及发现了图标缓存的位置为C:\Users\mzvast\AppData\Local\Microsoft\Windows\Explorer\NotifyIcon
。
之前也Google过中文和英文的资料,都没有人提到重点,后来无意间看到一篇德文的帖子,然后顺藤摸瓜找到了一个很详尽的讨论帖。但是中文方面,始终没有一个明晰的教程。我就记录一下,希望可以帮助到强迫症们!