. 获取指定文件路径的文件HICON和获取系统图标如“我的电脑”、“回收站”之类的系统图标。获取方式就两个API
//获取系统HICON LPITEMIDLIST lpitemdlist; SHFILEINFO shfinfo; //CSIDL_COMMON_DESKTOPDIRECTORY 文件夹 //CSIDL_DRIVES 我的电脑图标 SHGetSpecialFolderLocation(nullptr, CSIDL_DRIVES, &lpitemdlist); SHGetFileInfo((LPCTSTR)lpitemdlist, NULL, &shfinfo, sizeof(shfinfo), SHGFI_SYSICONINDEX | SHGFI_DISPLAYNAME | SHGFI_ICON | SHGFI_SMALLICON | SHGFI_PIDL); //获取指定文件路径的文件HICON // SHFILEINFO shfi; // ::SHGetFileInfo( // L"文件路径", // FILE_ATTRIBUTE_NORMAL, // &shfi, // sizeof(shfi), // SHGFI_ICON | SHGFI_USEFILEATTRIBUTES | SHGFI_TYPENAME); //然后就能正常使用了。 int nImageID = m_imageList.Add(shfinfo.hIcon); listCtrl.InsertItem(i, info.m_name, nImageID);
发表评论