En una máquina Windows XP, el siguiente código es lanzar una System.ComponentModel.Win32Exception con el mensaje "La operación se completó correctamente"System.Drawing.Icon constructor de lanzar la "Operación completada con éxito" excepción
System.Drawing.Icon icon = new System.Drawing.Icon("icon.ico");
I puede detener el programa bloqueando con
try
{
System.Drawing.Icon icon = new System.Drawing.Icon("icon.ico");
}
catch(System.ComponentModel.Win32Exception ex)
{
if (ex.NativeErrorCode != 0)
{
throw;
}
}
pero, por supuesto, el icono no está configurado.
La traza completa es
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"
esa línea 50 es la línea original que he publicado.
Esta es una aplicación WPF, y en una máquina con Windows 7 el código funciona bien.
EDITAR: Resultó que el ícono no funcionaba en Windows XP en absoluto, y agregó que las versiones de 256 colores parecen haberlo solucionado.
Este no fue el problema, el icono simplemente se rompió, ¡pero esto seguramente nos ahorrará un dolor de cabeza más tarde! – jonnystoten