在Windows XP机器上,以下代码会抛出一个带有消息“操作成功完成”的 System.ComponentModel.Win32Exception异常。
我可以通过以下方式防止程序崩溃:
当然,图标未设置。
完整的堆栈跟踪如下:
System.Drawing.Icon icon = new System.Drawing.Icon("icon.ico");
我可以通过以下方式防止程序崩溃:
try
{
System.Drawing.Icon icon = new System.Drawing.Icon("icon.ico");
}
catch(System.ComponentModel.Win32Exception ex)
{
if (ex.NativeErrorCode != 0)
{
throw;
}
}
当然,图标未设置。
完整的堆栈跟踪如下:
at System.Drawing.Icon.Initialize(Int32 width, Int32 height)
at System.Drawing.Icon..ctor(String fileName, Int32 width, Int32 height)
at System.Drawing.Icon..ctor(String fileName)
at hermes.Window1..ctor() in D:\\projects\\hermesclient\\hermesWPF\\hermes\\Window1.xaml.cs:line 50"
那行代码是我发布的原始代码。
这是一个WPF应用程序,在Windows 7机器上,代码可以正常工作。
编辑:事实证明图标在Windows XP中根本无法工作,添加256色版本似乎已经解决了问题。