我有一个图标文件,请问怎样修改注册表才能将指定后缀名的文件(如.XCH)与该图标相关联?

解决方案 »

  1.   

    BOOL ModifyIcon(LPCSTR ExtName, LPCSTR IconFile)
    {
        BOOL ret;
        LONG nLen;
        char Key[65];
        char buf[MAX_PATH];    nLen = sizeof(Key);
        if (RegQueryValue(HKEY_CLASSES_ROOT,ExtName,Key,
            &nLen) != ERROR_SUCCESS)
            return FALSE;
        if (Key[0]=='\0') return FALSE;
        strcat(Key, "\\DefaultIcon");
        strcpy(buf, IconFile);  strcat(buf, ", 0");
        ret = RegSetValue(HKEY_CLASSES_ROOT, Key,
            REG_SZ, buf, sizeof(buf)+1) == ERROR_SUCCESS;
        SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_FLUSHNOWAIT,
            0, 0);
        return ret;
    }调用的例子:
    ModifyIcon(".xch", "c:\\test.ico");
      

  2.   

    设单文档的文档图标就是你那个在app类的InitInstance函数中添加以下代码
    RegisterShellFileType(TRUE);
    文件就与该程序关联 并且图标变为文档图标
      

  3.   

    步骤如下:
    1。先在注册表的HKEY_CLASSES_ROOT下创建'.XCH'的键,将'默认'值改为'XCH file';
    2.还是载HKEY_CLASSES_ROOT 下创建'XCH file'键,载其下创建分键'DefaultIcon',将默认值改为你说指定的图标文件即可.