首页
社区
课程
招聘
[求助]=.=得到SHGetFileInfo好多hIcon句柄……就是没用
发表于: 2008-10-18 07:05 8040

[求助]=.=得到SHGetFileInfo好多hIcon句柄……就是没用

2008-10-18 07:05
8040
如题……最近在做一个任务管理器……SHGetFileInfo好不容易得到hIcon的句柄了……可我却发现加到CListCtrl里的图标都显示不出来……咋回事啊……
那一部分的代码长成这个样……  希望大家赐教~~
  			SHFILEINFO   shfi;   
 			memset(&shfi,0,sizeof(shfi));
			LONG  lStyle   =   GetWindowLong(m_ProcessList.m_hWnd,GWL_STYLE); 
			::SetWindowLong(m_ProcessList.m_hWnd,GWL_STYLE,lStyle|LVS_SHAREIMAGELISTS);   
			SHGetFileInfo(TempPath, 0, &shfi, sizeof(shfi), SHGFI_SYSICONINDEX|SHGFI_LARGEICON);
 			if(shfi.hIcon!=NULL)
 			{
				imlist.Add(::AfxGetApp()->LoadIcon(IDI_ICON1));
			}
			else
			{
				imlist.Add(shfi.hIcon);
			}
			lvitemAdd.mask = LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;
			lvitemAdd.iItem = i ;
			lvitemAdd.iSubItem = 0;
			lvitemAdd.pszText =pe.szExeFile;
			lvitemAdd.iImage = i;
			m_ProcessList.SetItem(&lvitemAdd);




用frozenrain的方法每次返回都是这个样


用OD跟踪发现每次都返回这个


山寨IceSword的代码也试过,我奇怪的就是别的程序用SHGetFileInfo就可以,可是到了我的程序就不行了……
Barend和weolar的方法出来以后都是这个样子
莫非和我的声明有关?
m_ProcessList.SetExtendedStyle(LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT| LVS_EX_GRIDLINES);

[课程]Linux pwn 探索篇!

上传的附件:
  • 1.jpg (48.88kb,66次下载)
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
2
换一个问题……
2008-11-8 11:21
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
CListCtrl 不可以使用图标吧
使用 CListView 试试
2008-11-8 21:44
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
4
图标可以加进去……但是都是一个模样……要是用SHGetFileInfo得到的东西放在一起好像又读不出返回句柄里的图标……
2008-11-9 12:36
0
雪    币: 102
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵……好玩……
2008-11-9 15:56
0
雪    币: 107
活跃值: (1623)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
HIMAGELIST hSmall=(HIMAGELIST)SHGetFileInfo(TempPathNULL,&shfi,sizeof(shfi),
                        SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
        ::SendMessage(pListCtrl->m_hWnd, LVM_SETIMAGELIST,(WPARAM)LVSIL_SMALL, (LPARAM)hSmall);
试下这个看看 下面填写结构的都注释掉
2008-11-19 12:37
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
7
嗯嗯……终于有图标了……不过都是这个样……
上传的附件:
2008-12-6 19:39
0
雪    币: 364
活跃值: (152)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
8
嘿嘿,你可以看我的那个山寨版的IceSword。就在这个板块~里面有详细的实现代码
2008-12-6 19:48
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
9
额,用了你那部分代码以后是这个样子的
上传的附件:
2008-12-7 10:04
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
i = m_ProImageList.Add( sfi.hIcon );

m_ProListCtrl.InsertItem(i, "12345", i);
2008-12-25 12:13
0
游客
登录 | 注册 方可回帖
返回
//