Window 中的 Icon 属性使 Windows XP SP2 中的应用程序崩溃

Posted

技术标签:

【中文标题】Window 中的 Icon 属性使 Windows XP SP2 中的应用程序崩溃【英文标题】:The Icon property in the Window is crashing the application in Windows XP SP2 【发布时间】:2011-01-15 22:57:27 【问题描述】:

假设我有这个:

<Window stuff Icon="Resources\myicon.ico">

如果我在 Windows 7 上运行该程序,那就没问题了。如果我在 Windows XP SP2 上运行它,它会崩溃。删除 Icon 属性后,它在 Windows XP 上运行良好,但在 Windows 7 任务栏或窗口上没有我的 myicon。

此外,在 VS 项目菜单上设置应用程序图标不适用于 W7,但适用于 XP。总结:

<Icon> = 坏掉的 XP,好的 W7 否 <Icon> = 好的 XP,丑陋的 W7 VS 项目图标选项 = 不适用于 W7,好的 XP

为了记录,我为 32、24 和 8 位创建了 16x16、22x22 等直到 256x256 的图标。我还使用 IcoFX 自动选项为 Windows XP 创建 .ico 图像。

有没有办法解决这个问题?还是我必须在丑陋的 Windows 7(和 Vista?)应用程序或没有 Windows XP 应用程序之间做出选择?

【问题讨论】:

【参考方案1】:

它与分辨率无关,而与格式有关:Windows XP 无法处理 ICO 文件中的 PNG 压缩图标。通常只压缩较大的分辨率,主要是 256x256。 我使用http://iconverticons.com/ 创建 ICO 文件,他们还使用 PNG 压缩 128x128 图像。

要解决此问题,请在 Visual Studio 中打开您的 ICO 文件并删除所有 PNG 格式的图标版本。或者,您可以使用 icoFx 将 PNG 图标转换为 BMP 格式。只需在选项对话框中禁用压缩并将您的图标保存到新文件即可。 您可以在此处下载 IcoFx 最新免费版本:http://www.chip.de/downloads/IcoFX-letzte-Freeware-Version_28266149.html

【讨论】:

【参考方案2】:

XP 不支持 256x256 图标。移除 XP 的 256 图标。

【讨论】:

好吧,但 IcoFX 撒了谎。这个人也是如此:***.com/questions/230795/… 或者我误解了这个问题。啊 我仍然对此感到恼火。我发现的几乎每个来源都说它应该可以工作......但它没有。 128x128 图标也有问题。

以上是关于Window 中的 Icon 属性使 Windows XP SP2 中的应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

2021-08-09 WPF控件专题 Window窗体属性和事件

window.open如何使页面内容最大化?

JavaScript中window对象常用的属性、方法

JS Window

使节点 webkit 应用程序加载全屏

JavaScript中的Window和window有啥关系?