我试图在XP中更改.htm文件的文件关联,下面是我的操作方法:
- 更改关联的注册表项值
- 调用
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);