Win98下用SHGetFileInfo取图标,程序退出后系统图标全消失?

解决方案 »

  1.   

    我也曾经遇到过类似的问题,你肯定是在Attach了系统的imageList之后,将它Detach掉了。你换一下
    TreeView_SetImageList(m_hWnd,hImgList,TVSIL_NORMAL)
    来SetImageList,具体的描述自己查Msdn吧!!!
      

  2.   

    to cbixf() :
       你在SHGetFileInfo()取完图标之后就调用TreeView_SetImageList()这个函数来SetImageList,好像这个函数再程序退出时不会删除那个ImageList.Sample:
        再treectrl的oncreate中,
              HIMAGELIST hImgList;
        SHFILEINFO FileInfo;
    if( ( hImgList = (HIMAGELIST)::SHGetFileInfo(
    (LPCSTR)"C:\\",
    NULL,
    &FileInfo,
    sizeof(FileInfo),
    SHGFI_SYSICONINDEX | SHGFI_SMALLICON ) ) ==NULL )//
     {
     TRACE("Get Small Icon Error!"); ASSERT( 0 );
     }
              TreeView_SetImageList(m_hWnd,hImgList,TVSIL_NORMAL);
        
      

  3.   

    用完后,不要删除取得的系统list,而且,最好只是读取引用,而不要修改它。