背景:如果你看这里:http: //msdn.microsoft.com/en-us/library/ee330740%28v=vs.85%29.aspx 在底部你会看到:
注意 卸载应用程序后,其通知区域图标仍可作为选项显示在控制面板的通知区域图标页面中长达 7 天。但是,在那里所做的任何更改都不会产生任何影响。
是的,当您卸载应用程序时,图标仍然存在于“通知区域图标页面”中,直到您杀死 Explorer.exe 并重新启动它 - 这是我要解决的问题。
您可以通过以下方式进入“通知区域图标页面”(在 Windows 7 中):右键单击任务栏 > 属性 > 自定义
所以我想做的是以编程方式从该列表中删除图标,甚至删除所有图标,然后让 Windows 在您重新打开该列表页面时重新创建它们(这可以通过删除PastIconsStream
and IconStreams
in来完成HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify
)
但同样,问题是您仅在杀死并重新启动 Explorer.exe后才能看到结果- 我假设当您重新启动 explorer.exe 时,它会重建列表,但这次使用正确的图标(即不包括已卸载的图标应用)。
所以为了让事情更简单,我会问这个:我如何以编程方式让资源管理器在我删除后刷新“通知区域图标页面列表” PastIconsStream
并且IconStreams
不杀死/重新启动 explorer.exe 并且不重新启动/注销,这样列表将不包括已卸载的应用程序图标?