Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 在XP中更改文件关联后如何刷新图标?_Visual Studio 2008_Winapi_Visual C++_Windows Xp_Windows Shell - Fatal编程技术网

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

Visual studio 2008 在XP中更改文件关联后如何刷新图标?,visual-studio-2008,winapi,visual-c++,windows-xp,windows-shell,Visual Studio 2008,Winapi,Visual C++,Windows Xp,Windows Shell,我曾尝试在XP中更改.htm文件的文件关联,下面是我如何做到的: 更改关联的注册表项值 调用SHChangeNotify(SHCNE\u assocchange,SHCNF\u IDLIST,0,0)刷新图标 完成这些操作后,我双击.htm文件,它将由我期望的浏览器打开。但桌面上的图标不会更改为新图标(例如,从IE改为Chrome)。 但是,如果重新启动explorer.exe,图标将更改为正确的图标 谁能告诉我在更改文件关联后如何刷新桌面上的图标 如果您有任何回复,我们将不胜感激,谢谢 尝试发

我曾尝试在XP中更改.htm文件的文件关联,下面是我如何做到的:

  • 更改关联的注册表项值
  • 调用
    SHChangeNotify(SHCNE\u assocchange,SHCNF\u IDLIST,0,0)
    刷新图标
  • 完成这些操作后,我双击.htm文件,它将由我期望的浏览器打开。但桌面上的图标不会更改为新图标(例如,从IE改为Chrome)。 但是,如果重新启动explorer.exe,图标将更改为正确的图标

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


    如果您有任何回复,我们将不胜感激,谢谢

    尝试发送有关已更改环境的通知,这可能会解决以下问题:

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

    SHChangeNotify、SHCNE_GLOBALEVENTS、SHCNF_IDLIST或SHCNF_FLUSHNOWAIT 或者SHCNF_,0,0

    用你的语言来改变或改变对我有用的东西

    或改变

    SHCNE_全球事件至SHCNE_关联变更


    不可能,这是我在我的文件扩展名编辑器中使用的,没有人会遇到问题。什么操作系统?对不起,Gunner,你的解决方案有效,我添加的是regsity值,这会让事情看起来一团糟。我删除了一些无用的值,现在可以正常工作了。