包括两类图标
第一种是"前进" "后退" 向上等控制按钮的图标.
第二种是"里面的文件"所使用的图标.
比如MP3文件显示MP3的图标, 文件夹显示文件夹的图标.
这些值应该是在注册表里面配置的.
说明,把图标提取出来使用的方法就不用说了.
此方案已经被否决.

解决方案 »

  1.   

    第一类利用shell32.dll...第二类是通过注册表找到这个软件的关联的icon位置
      

  2.   

    第一种,先查一下图标在哪个文件里面、资源ID或名称是什么,程序中用LoadLibraryEx载入文件,再LoadIcon。
    第二种,用SHGetFileInfo来取。
      

  3.   


    SHGetFileInfo 貌似需要文件存在才可以使用.
    有仅仅通过后缀取得图标的函数吗?
      

  4.   

    后缀信息都在注册表中,然后注册表中设定了它对应的icon信息等,你可以查找注册表来
      

  5.   

    是可以的, 使用如下参数SHFILEINFO ShellFileInfo;
    SHGetFileInfo(TEXT("FILE NOT EXIST.exe"), NULL, &ShellFileInfo, sizeof(SHFILEINFO), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES);
      

  6.   

    用ExtractIconEx不是更好一点,当然你要知道你所用的ICON的序号