我正在使用 SHGetFileInfo API 来获取和显示与特定文件关联的图标。
如果文件没有与之关联的图标,Windows 将返回默认图标,它在资源管理器中用于未知文件类型。在这种情况下,我不想显示图标。
我如何判断该文件是否没有关联图标以及 Windows 是否返回默认图标?
在我的系统上,SHFILEINFO.iIcon
在这种情况下始终等于 3,但我不确定这有多可靠,我希望有更好的方法来检查它。
编辑:我的目标是 Windows XP 及更高版本
谢谢
最佳答案
您的目标操作系统版本是什么?如果您可以假设 Vista 及更高版本,则有一个 API SHGetStockIconInfo你可能会觉得有用。
SHGetStockIconInfo(SIID_DOCNOASSOC, SHGSI_SYSICONINDEX, &sii)
将返回您在 sii.iSysImageIndex 中查找的图标索引。
关于windows - 如何判断文件是否没有关联的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1341131/