Java教程

【系统管理】清理任务栏的已删除程序的图标缓存

本文主要是介绍【系统管理】清理任务栏的已删除程序的图标缓存,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

通知区域位于任务栏(Taskbar)的右端,包含

  • 【应用托盘(Tray)】图标,提供有关应用软件的提醒和设置,参见下图标注黄色区域 【系统图标】图标,提供有关系统服务的状态和通知 【问题】在系统设置中的通知区域图标设置中显示已卸载应用程序的图标? 【解决方法】删除注册表中的通知区域图标缓存以及重置并自动创建通知区域图标。 【原因分析】卸载软件不当,特别是直接删除绿色版 & 免安装(Portable)软件,容易损坏通知区域的图标缓存,导致通知区域图标设置的图标仍旧出现。

解决步骤

通知区域图标缓存位于下面的注册表项HKEY_CURRENT_USERSOFTWAREClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionTrayNotify中的下列两个变量

  • IconStreams PastIconsStream
  1. 复制以下内容保存为 Reset_NotiAreaIconsCache.bat 到桌面。
@echo off

set regPath=HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionTrayNotify
set regKey1=IconStreams
set regKey2=PastIconsStream


echo.
echo 在删除通知区域托盘缓存图标之前,务必关闭资源管理器进程。 
echo.
echo 继续以下操作前,请务必保存重要的工作文档.
echo.
pause


echo.
taskkill /IM explorer.exe /F
echo.
FOR /F "tokens=*" %%a in (Reg Query "%regpath%" /v %regkey1% ^| find /i "%regkey1%") do goto IconStreams
echo 删除了注册表键值 "IconStreams"。
echo.

:verify-PastIconsStream
FOR /F "tokens=*" %%a in (Reg Query "%regpath%" /v %regkey2% ^| find /i "%regkey2%") do goto PastIconsStream
echo 删除了注册表键值 "PastIconsStream"。
echo.
goto restart

:IconStreams
reg delete "%regpath%" /f /v "%regkey1%"
goto verify-PastIconsStream

:PastIconsStream
reg delete "%regpath%" /f /v "%regkey2%"


:restart
echo.
echo.
echo 您需要重启计算机以完成您的通知区域图标的重置任务。
echo.
CHOICE /C:YN /M "您想要现在就重启计算机吗?"
IF ERRORLEVEL 2 goto no
IF ERRORLEVEL 1 goto yes


:no
echo.
echo.
echo 资源管理器重启中.... 
echo.
echo 请记住稍后重启计算机以完成您的通知区域图标的重置任务。
echo.
start explorer.exe
pause
exit /B

:yes
shutdown /r /f /t 00

!注意: 以上文本编码为 GB 2312;其他编码会引起提示文本乱码的的问题。 !注意: 在继续下面步骤之前,请关闭并保存用户正在处理的重要内容。以下步骤将涉及重启资源管理器并重新启动PC。

  1. 运行.bat文件。
  2. 如果出现提示,请单击/点击“Enter”以同意继续。
  3. 按照命令提示符中的说明重置通知区域图标。如果现在不重新启动计算机,则需要稍后完成重置通知区域图标。

关联问题

  • 如何清理系统设置任务栏的已经删除程序/绿色程序/非安装程序的遗留图标/图片?

附录:技术参考

这篇关于【系统管理】清理任务栏的已删除程序的图标缓存的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!