各位朋友好!
我建立了一个基于CListView的单文档工程,其中CFileListView类就是基于CListView的视图类。
我在CFileListView定义了如下两个变量:
CImageList m_ctImageList;
CListCtrl* m_pListCtrl; //本视图对应的控件指针然后有如下代码,用于读取系统的文件图标(也就是对应的文件扩展名的图标),我用来在列表视图中显示文件,包括文件图标。
HIMAGELIST hImageList;
SHFILEINFO shFi;
hImageList=(HIMAGELIST)SHGetFileInfo("C:\\",0,&shFi,sizeof(shFi),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
if(!hImageList)
return;
m_ctImageList.m_hImageList=hImageList;
m_pListCtrl->SetImageList(&m_list,LVSIL_SMALL);
程序运行没问题,也能得到系统图标,但问题是。如果我关闭我的程序,windows系统中的图标也没有了。再运行我的程序,也得不到图标了。而且其它的可以显示文件图标的软件(如:FlashFXP运行业看不到文件图标了),估计是windows系统图标被我程序给删除了。重启动windows,又好了。大家帮帮我的忙。谢谢了!