我正在尝试使用以下API从.exe文件中获取图标:
SHGetFileInfoW () SHGetImageList (),从这样获得的 ImageList ,我通过调用 GetIcon ()来读取图标。
当机器的颜色深度设置为32位时,我得到32位颜色图标。问题是当我将机器的颜色深度更改为24或16位时,我得到一个16位颜色图标,这个图像似乎已损坏。
我还检查了一些常见的Windows应用程序(记事本,油漆等)和一些办公应用程序中的可用图标列表,没有16位或24位颜色图标。
从可执行文件中获取正确图标的最佳方法是什么?
谢谢!
答案 0 :(得分:0)
您可以使用LoadLibraryEx加载exe,然后使用LoadImage提取图标 - 或 - 如果您想直接访问图标数据:FindResource,LoadResource,LockResource将为您提供指向图标资源位的指针。