用SHGetFileInfo((LPCWSTR)pReal,0,&shf,sizeof(shf),
SHGFI_PIDL|SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
得到系统imagelist的index , 但是 "我的电脑" 下磁盘C:,D: ... "网络邻居" 目录下的图标不正确,
而其他的图标都显示正确,
不知道是什么原因,,请达人帮帮忙,分给够!

解决方案 »

  1.   

    pReal 用 SHGetRealIDL 得到的.
    SHFILEINFO shf; 清零了一下,就传到了 SHGetFileInfo里了.就是我的电脑,和网络邻居目录下的图标不正确(,其他的图标都是正确的.)
      

  2.   

    你说的那个函数我不清楚.不过你可以尝试在第2个参数用 SHGFI_USEFILEATTRIBUTES 试试.msdn说 如果使用了SHGFI_PIDL 这个标志, 那么得有一个合法的ITEMIDLIST. 你那个函数可以得到吗?
      

  3.   

    错了.不能用SHGFI_USEFILEATTRIBUTES 应该要有一个合法的ITEMIDLIST作为第一个参数.
      

  4.   

    refer to :
    http://blog.vckbase.com/rovershen/archive/2004/11/03/1227.aspx
      

  5.   

    已经解决了,是 SHGetRealIDL 这个函数有问题.
    为什么有的显示是正常的呢,伤脑筋啊.. -_-!!!!