Pregunta

Necesito extraer algunos mapas de bits de un archivo .msstyles (los archivos de estilo visual de Windows XP) y no estoy seguro de por dónde empezar. Parece que no puedo encontrar ninguna documentación sobre cómo hacerlo, y el formato de archivo parece ser binario y no se analiza fácilmente. He podido extraer el mapa de bits por sí solo usando:

IntPtr p = LoadLibrary(UxTheme.ThemeName);
Bitmap bmp = Bitmap.FromResource(p, "BITMAP_NAME");
FreeLibrary(p);

Sin embargo, también necesito la información relacionada con el mapa de bits, como el tamaño de los márgenes, el espaciado y el número de "imágenes". por mapa de bits. ¿Alguien tiene alguna experiencia con esto o algún enlace a la documentación que pueda usar?

¿Fue útil?

Solución

Este sitio afirma que el formato del archivo está documentado aunque no por Microsoft.
También lo encontré en Wine Crossreference .
¡Espero que ayude!

Otros consejos

Si desea obtener archivos de un dll directamente (recuerde, los estilos de ms son dlls con otra extensión), puede echar un vistazo a la Proyecto Anolis .

En cuanto a analizar realmente esas cosas, debería consultar los diversos tutoriales sobre cómo crear msstyles para obtener información sobre cómo funcionan los diversos recursos de texto en ese archivo.

Este artículo de codeproject parece tener exactamente lo que quieras, con un poco de interoperabilidad involucrado. Existe un contenedor administrado y parece bastante bueno . .Net WindowsForms también tiene la funcionalidad incorporada, es posible que desee ver el espacio de nombres System.Windows.Forms.VisualStyles si desea acceso de solo lectura simplificado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top