怎样得到远程ICO文件图标

其实远程文件的ICO图标是无法直接得到的
猛若RADMIN 黑洞者也是无没有到,当然了也不见决对没有,只是我不知道......

我们可以通过如下变通方法得到

原理:

跟据文件的扩展名,从注册表中查找对应的程序图标

不过这也有它的缺点对于EXE文件它只能显示一个可执行文件的图示

实现方法

CImageList m_ImageList;

m_ImageList.Create(32,32,ILC_COLOR32,10,30); //创建图示
m_list.SetImageList(&m_ImageList,LVSIL_NORMAL); //与列表控件相关连


SHFILEINFO info;
memset((char*)&info,0,sizeof(info));

SHGetFileInfo(fi->FileName,0,&info,sizeof(&info),  SHGFI_ICON|SHGFI_USEFILEATTRIBUTES);//关键所在

int i = m_ImageList.Add(info.hIcon);
m_list.InsertItem(i,fi->FileName,i);

还有,我原来在SERVER端通过上面的代码把info.hIcon句柄保存下来,然后放到CLIENT,在单机上很好使,但
真在两台电脑上用就玩完了,因为info.hIcon里保存的是句柄(应该是个索引)而不是ICO图标所以是行不通的


这样就可以达到目得喽
 

你可能感兴趣的:(怎样得到远程ICO文件图标)