我想做一个CFileDialog的东西。不知道怎么得到文件的图标,大虾们帮忙啊!!

解决方案 »

  1.   

    在资源中将图标Load进来,再根据其ID号操作
      

  2.   

    不是啊,是得到别的文件的图标,不是自己资源图标。我想做一个CFileDialog的东西。不知道怎么得到文件的图标,大虾们帮忙啊!! 
      

  3.   

    ExtractIcon
    ExtractIconEx
    If you want to get the Icon of know file type, you must...
    麻烦了
      

  4.   

    首先找到文件扩展名在注册标中HKEY_CLASS_ROOT中的值:
    比如.c的键名是.c,值为cfile。
    然后找到值对应的键在HKEY_CLASS_ROOT中的子键DefaultIcon的值
    比如键名cfile在HKEY_CLASS_ROOT中的子键DefaultIcon的值为
    C:\PROGRA~1\MICROS~1\Common\MSDev98\Bin\msdev.exe,-20210
    用ExtractIconEx可以分别取出大图标和小图标了。
      

  5.   

    如果没有找到扩展名,或者扩展名对应的类型没有找到DefaultIcon,或者这个Icon不存在,就使用%SystemRoot%\system32\system32.dll, 0