从DLL中获取图标

时间:2009-07-13 20:51:45

标签: c# windows dll icons

我从第三方库中获得以下内容(一个示例):

  

@%SYSTEMROOT%\ SomePath \ SomeFile.Dll,-203

我从上下文知道这是一个图标。我的问题是,我如何获取这些“地址”并实际提取数据?

在相关的说明中,我还想知道从香草EXE中拉出显示的(从外壳)图标的最佳方法。

我在C#工作,但我也可以使用C或C ++示例。

2 个答案:

答案 0 :(得分:2)

使用EXE,您应该调用SHGetFileInfo API函数并指示您想要图标。此函数将检查可以提供图标的所有不同方式(在文件中,通过shell扩展等等)。

对于从第三方库获得的内容,可以调用ExtractIconEx API函数,传递文件名(第一部分)和索引(第二部分)。

答案 1 :(得分:0)

如果使用reflector,您可以确切地看到存储内容的确切位置。 (如果它是兼容的DLL)。这帮助我过去获得了嵌入式资源。