Pergunta

Eu preciso extrair alguns bitmaps de um arquivo Msstyles (os arquivos de estilo visual do Windows XP) e eu não tenho certeza por onde começar. Eu não consigo encontrar qualquer documentação sobre como fazê-lo, eo formato de arquivo parece ser binária e não é facilmente analisado. Eu tenho sido capaz de extrair o bitmap por si só usando:

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

No entanto, eu também preciso a informação relacionada com o bitmap, como os tamanhos de margem, espaçamento e número de "imagens" por bitmap. Alguém tem alguma experiência com este ou quaisquer links a documentação que eu posso usar?

Foi útil?

Solução

Este o formato de arquivo é documentado embora não por Microsoft.
Também encontrado isso no Wine Crossreference .
Espero que ajude!

Outras dicas

Se você deseja obter os arquivos fora de uma dll diretamente (lembre-se, msstyles são DLLs com um outro ramal), você pode ter um olhar para o rel Anolis Projeto .

Como para realmente analisar as coisas que você deve olhar para os vários tutoriais sobre a criação de msstyles para informações sobre como os vários recursos de texto em que o trabalho de arquivo.

Este artigo codeproject parece ter exatamente o que você quer, com um pouco de interoperabilidade envolvidos. A conseguiu invólucro existe e parece bastante bom . Os WindowsForms Net também tem a funcionalidade incorporada, você pode querer olhar para o namespace System.Windows.Forms.VisualStyles se quiser simplificado acesso somente leitura.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top