Auf einem Windows XP-Computer wirft der folgende Code eine System.ComponentModel.Win32Exception mit der Meldung "Der Vorgang wurde erfolgreich abgeschlossen"
System.Drawing.Icon icon = new System.Drawing.Icon("icon.ico");
Ich kann verhindern, dass das Programm abstürzt, indem ich Folgendes tue
try
{
System.Drawing.Icon icon = new System.Drawing.Icon("icon.ico");
}
catch(System.ComponentModel.Win32Exception ex)
{
if (ex.NativeErrorCode != 0)
{
throw;
}
}
aber natürlich ist das Symbol dann nicht gesetzt.
Der vollständige Stack-Trace ist
bei System.Drawing.Icon.Initialize(Int32 width, Int32 height)
bei System.Drawing.Icon..ctor(String fileName, Int32 width, Int32 height)
bei System.Drawing.Icon..ctor(String fileName)
bei hermes.Window1..ctor() in D:\\projects\\hermesclient\\hermesWPF\\hermes\\Window1.xaml.cs:Zeile 50"
Die Zeile 50 ist die ursprüngliche Zeile, die ich gepostet habe.
Dies ist eine WPF-App, und auf einem Windows 7-Computer funktioniert der Code einwandfrei.
EDIT: Es stellte sich heraus, dass das Symbol auf Windows XP überhaupt nicht funktionierte. Das Hinzufügen von Versionen mit 256 Farben hat das Problem zu lösen scheint.