-
-
[求助]=.=得到SHGetFileInfo好多hIcon句柄……就是没用
-
发表于:
2008-10-18 07:05
8040
-
[求助]=.=得到SHGetFileInfo好多hIcon句柄……就是没用
如题……最近在做一个任务管理器……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 探索篇!