本地的文件容易解决,但是远程的那,对于那个得到file图标的需要一个真实的文件,远程路径应该是不行的吧

解决方案 »

  1.   

    那请问怎么获得那?还是像本地的一样做法?用SHGetFileInfo时,第一个参数该怎么设那??网络路径?
    ftp://xxx.xxx.xxx.xxx/xxxx
    是这样的嘛?
      

  2.   

    你是可以获得每一个文件的文件名的,同样也可以提取出后缀名,通过后缀名是可以在注册表中查到文件类型的,然后根据后缀名在注册表的HKEY_CLASSES_ROOT下可以查到该后缀名的键值,就是那个默认,在根据默认的那个串在HKEY_CLASSES_ROOT下可以找到相应的注册表项,下面应该有一个DefaultIcon,那里那个默认的就是图标所在的文件以及序号(使用,号分隔的)
    你通过ExtractIcon函数可以提取到该图标,你先准备一个ImageList,将提取到的图标加入到你的ImageList中使用就可以了三,只要记住对应的后缀名在ImageList中的序号
      

  3.   

    谢谢,不过我发现可以直接用SHGetFileInfo来得到远程文件对应本地文件类型的图标,不过就是在参数上设置而已,在最后的参数上加上“SHGFI_USEFILEATTRIBUTES”,同时在第二个参数中设置为“FILE_ATTRIBUTE_DIRECTORY”或“FILE_ATTRIBUTE_NORMAL”分别对应目录和文件。