En particular, me gustaría poder obtener los iconos pequeños (16 x 16) en tiempo de ejecución.¿Hay alguna manera de obtener diferentes tamaños de iconos del sistema de Windows en .NET?
yo probamos este:
new Icon(SystemIcons.Error, SystemInformation.SmallIconSize)
que supuestamente "intenta encontrar una versión del icono que corresponda al tamaño solicitado", pero todavía me está dando un icono de 32 x 32. También probé:
Size iconSize = SystemInformation.SmallIconSize;
Bitmap bitmap = new Bitmap(iconSize.Width, iconSize.Height);
using (Graphics g = Graphics.FromImage(bitmap))
{
g.DrawIcon(SystemIcons.Error, new Rectangle(Point.Empty, iconSize));
}
Pero eso simplemente adapta el icono 32 x 32 hacia abajo en un feo 16 x 16.
he considerado simplemente tirando de los iconos de la biblioteca de imágenes VS, pero realmente quiero para variar dinámicamente con el sistema operativo (iconos de XP en XP, iconos de Vista en Vista, etc.). Estoy dispuesto a P/invocar si eso es lo que se necesita.
¿crees que podrías proporcionar una muestra de código para esta solución, incluida la alternativa de Vista? – miroxlav