从可执行文件中获取图标信息?

时间:2010-11-11 05:07:54

标签: windows icons gdi winapi

我正在尝试使用以下API从.exe文件中获取图标:
SHGetFileInfoW () SHGetImageList (),从这样获得的 ImageList ,我通过调用 GetIcon ()来读取图标。

当机器的颜色深度设置为32位时,我得到32位颜色图标。问题是当我将机器的颜色深度更改为24或16位时,我得到一个16位颜色图标,这个图像似乎已损坏。

我还检查了一些常见的Windows应用程序(记事本,油漆等)和一些办公应用程序中的可用图标列表,没有16位或24位颜色图标。

从可执行文件中获取正确图标的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用LoadLibraryEx加载exe,然后使用LoadImage提取图标 - 或 - 如果您想直接访问图标数据:FindResource,LoadResource,LockResource将为您提供指向图标资源位的指针。