SHGetFileInfo 调用3000多次后失败,写了代码,重现了这个错误,
void CaDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CoInitialize(NULL);
long num=0;
while(true)
{
SHFILEINFO FileInfo;
FileInfo.hIcon=0;
memset(&FileInfo,0,sizeof(SHFILEINFO));
SHGetFileInfo(L"C:\\", 0, &FileInfo, sizeof(FileInfo),SHGFI_ICON);
if(FileInfo.hIcon==0)
{
CString str;
str.Format(L"调用%d次后失败",num);
MessageBox(str);
break;
}else
{
//CloseHandle(FileInfo.hIcon);//写上这句话,也是不行的,
}
num++;
}
CoUninitialize();
}
求解决办法。。。。。。我要得到文件的图标句柄,所以这个函数要调用很多次。