windows - 如何判断文件是否没有关联的图标

标签 windows winapi

我正在使用 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/

相关文章:

windows - 在 WinAPI 中设置选项卡索引/默认按钮

windows - TEXTMETRIC 结构和 "Cambria Math"字体有问题

c++ - WM_PAINT 什么时候被调用?

php - php 会停止在 windows 二进制文件中支持 apache 吗?

c++ - 如何获得标题栏窗口控件的 RECT(最大化、最小化、关闭按钮)?我试图制作一个自定义颜色的标题栏

c++ - 如何在 Windows 中获取当前登录用户的域?

mysql - 将编辑控件值与 mysql 数据库值进行比较

c - 用于文件名的 Minizip 和 Unicode

windows - 使用 sc.exe 启动创建的服务会引发错误 : "[SC] StartService FAILED with error 129."

c++ - 如何使用 Windows 内置的 mp3 解码器访问原始解码音频数据?