应用程序中不需要的额外图标

时间:2011-05-14 16:31:37

标签: delphi icons delphi-2007

使用Delphi 2007.我在我的应用程序中添加了2个额外的图标,用于一些自定义文件关联。使用自定义资源文件并且工作正常。但是,当查看生成的exe文件时,我发现了一些额外的图标,我不知道它们来自哪里。

结果是我的图标变为图标5和6而不是1和2.结果是在添加自定义文件关联时,我的DefaultIcon注册表项必须使用5和6而不是我期望的。

我担心的是,由于我不明白这些图标的来源,我可能会在将来遇到问题。

有什么想法可以找到它们吗?

2 个答案:

答案 0 :(得分:3)

Delphi为您的exe添加一个图标(默认或用户指定)。

如果您在应用程序中看到更多图标,则它们是:

  • 在某处添加.rc文件。
  • 它们已直接添加到项目的.res文件中。

您可以使用任何资源编辑器查看和编辑.res文件的内容。两个很好的例子是来自Anders MelanderColin Wilson的应用程序。

更新:

由于Luke没有找到另一个.rc文件,并且他的.res文件是正确的,所以我还会尝试其他一些事情:

  • Delphi 2007支持构建前和构建后事件。看看是否有任何可能增加资源。
  • 查看“消息”窗口中的编译器输出,查看意外.res或.rc文件的任何迹象。
  • 在源文件中搜索“.res”或“.rc”的实例。

答案 1 :(得分:1)

要添加Bruce所说的内容,ResHacker也是一个查看exe资源的免费工具。

此外,我不确定这是否可行,但您可以将所需的图标存储在资源dll中,并在需要时提取/使用它们吗?