如何在XP中更改文件关联后刷新图标



我试图在XP中更改.htm文件的文件关联,下面是我的操作方法:

  1. 更改关联的注册表项值
  2. 调用SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)刷新图标

完成这些操作后,我双击.htm文件,它就被我期望的浏览器打开了。但是桌面上的图标并没有变为新的图标(例如从IE到Chrome)。但是,如果重新启动explorer.exe,图标会更改为正确的图标。

有人能告诉我在更改文件关联后如何刷新桌面上的图标吗?

感谢您的回复。

尝试:

SHChangeNotify、SHCNE_LOBALEVENTS、SHCN_IDLIST或SHCN_FLUSHNOWAIT或SHCNF_NOTIFYRECURSIVE,0,0

将OR更改为您语言中的任何OR对我都有效。

或更改

SHCNE_LOBALEVENTS到SHCNE_ASSOCHANGED

尝试发送有关更改环境的通知,这可能会成功:

DWORD result2 = 0;
LRESULT result = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
    (LPARAM)_T("Environment"), SMTO_ABORTIFHUNG, 5000, &result2);

相关内容

最新更新