我试图在XP中更改.htm文件的文件关联,这就是我的做法:
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
刷新图标。执行这些操作后,我双击.htm文件,然后由我预期的浏览器打开。但桌面上的图标不会更改为新图标(例如从IE到Chrome)。 但是,如果我重新启动explorer.exe,图标将更改为正确的图标。
有人可以告诉我如何在更改文件关联后刷新桌面上的图标吗?
您的任何回复都将不胜感激,谢谢。
答案 0 :(得分:1)
尝试:
SHChangeNotify,SHCNE_GLOBALEVENTS,SHCNF_IDLIST或SHCNF_FLUSHNOWAIT 或SHCNF_NOTIFYRECURSIVE,0,0
将OR更改为您所用语言中的任何OR对我有用。
或更改
SHCNE_GLOBALEVENTS到SHCNE_ASSOCCHANGED
答案 1 :(得分:0)
尝试发送有关已更改环境的通知,这可能会解决:
DWORD result2 = 0;
LRESULT result = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM)_T("Environment"), SMTO_ABORTIFHUNG, 5000, &result2);