我正在尝试自定义在我的 Delphi 应用程序的 Windows 资源管理器和桌面快捷方式中显示的图标。
在 Delphi 7 IDE 中,我已经在 Project Options 对话框的 Application 选项卡中加载了所需的图标。它将我想要的图标显示为图形。
我认为没有必要,但我也将我的图标设置为 TMainForm Icon 属性。
但是,生成的 EXE 仍显示默认的 D7 图标。我错过了什么?
经过更多的狩猎,我找到了它。我通过从另一个文件夹复制现有项目来创建一个新项目。我忘记更改 DPR 文件顶部的程序名称以匹配新项目的名称。不知何故,如果在那里使用了错误的名称,它会阻止图标在生成的 EXE 文件中被更改......
当您将图标分配给应用程序时,图标将嵌入到与程序名称(在 .dpr 文件的第一行中提到的名称)名称相同的 .res 文件中。当您更改 .dpr 文件中的程序名称时,delphi 会使用新的程序名称创建一个新的 .res 文件,并在新的 res 文件中查找图标资源并没有找到,因此使用默认图标(或矩形白色盒子)。旧的带有图标资源的 res 文件将不再使用。总之,如果您更改程序名称,您将不得不重新分配图标。
也许需要删除图标缓存。关于这个问题有很多页面,这个链接可能有用:http ://smallvoid.com/article/windows-icon-cache.html