void CFileSysEX::GetFileIconEx(CString strFilename,int i)
{
CString str;
str="*"+GetFileLastname(strFilename);
memset(&sfi,0,sizeof(sfi));
if (SHGetFileInfo(str,FILE_ATTRIBUTE_NORMAL,&sfi,sizeof(SHFILEINFO),SHGFI_USEFILEATTRIBUTES | SHGFI_DISPLAYNAME | SHGFI_TYPENAME |SHGFI_ICON|SHGFI_SMALLICON ))
{
if (GetFileLastname(strFilename)=="."||GetFileLastname(strFilename)=="..")
{
// m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));//::DestroyIcon(sfi.hIcon);
}
else
{
m_imagelist.Add(sfi.hIcon);
}
}
::DestroyIcon(sfi.hIcon);
}
{
CString str;
str="*"+GetFileLastname(strFilename);
memset(&sfi,0,sizeof(sfi));
if (SHGetFileInfo(str,FILE_ATTRIBUTE_NORMAL,&sfi,sizeof(SHFILEINFO),SHGFI_USEFILEATTRIBUTES | SHGFI_DISPLAYNAME | SHGFI_TYPENAME |SHGFI_ICON|SHGFI_SMALLICON ))
{
if (GetFileLastname(strFilename)=="."||GetFileLastname(strFilename)=="..")
{
// m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));//::DestroyIcon(sfi.hIcon);
}
else
{
m_imagelist.Add(sfi.hIcon);
}
}
::DestroyIcon(sfi.hIcon);
}
m_Image.Create( 16,16,ILC_MASK,0,6);
SHFILEINFO shFi;
memset(&shFi,0,sizeof(shFi));
SHGetFileInfo(m_Ext.GetAt(i),FILE_ATTRIBUTE_NORMAL,&shFi,
sizeof(shFi),
SHGFI_ICON | SHGFI_SMALLICON |
SHGFI_USEFILEATTRIBUTES );
if (shFi.hIcon!=NULL)
{
m_Image.Add(shFi.hIcon);
}
SHGetFileInfo("文件路径",
0,
&sfi,
sizeof(SHFILEINFO),
SHGFI_SYSICONINDEX|SHGFI_SMALLICON|SHGFI_DISPLAYNAME);
LVITEM lvItem;
memset(&lvItem,0,sizeof(lvItem));
lvItem.mask |= LVIF_TEXT|LVIF_IMAGE;
lvItem.iItem = 0;
lvItem.pszText = "";
lvItem.iImage = sfi.iIcon;
int r = InsertItem(&lvItem);