带有多个嵌入式图标的EXE

kol*_*kol 2 delphi icons embedded-resource

我在Delphi中创建了一个VCL应用程序,并使用Project/Options对话框设置应用程序图标.我还通过向项目添加RC文件为应用程序添加了其他图标.这些都不在RC文件中命名为"MAINICON",以避免与应用程序图标资源冲突.

EXE包含所有图标:应用程序图标以及RC文件中列出的其他图标.当我启动EXE时,主窗体和任务栏按钮都将按预期显示应用程序图标.

问题是,文件管理器(资源管理器时,Total Commander等)显示为EXE额外的图标之一.为什么?是否可以在文件管理器中显示应用程序图标?

谢谢!

ain*_*ain 8

AFAIK Windows按字母顺序选择第一个图标资源.因此,重命名您的addidional图标资源,以便MAINICON按字母顺序排列.重建并清除图标cashe以查看它是否已修复它.

  • 这被记录为*"Windows选择具有数字最低标识符的图标"*.请参阅[`this article`]中的"选择图标"一章*(http://msdn.microsoft.com/en-us/library/ms997538.aspx). (5认同)
  • 你确定这是真的吗?我认为shell使用它找到的第一个图标.恰好,Delphi在创建res文件时按名称对图标进行排序.还是我记得错了?你找到了什么文件吗?德尔福硬编码"MAINICON"有点糟糕,这意味着你不能给出低于"MAINICON"的图标名称. (2认同)