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