Domanda

Devo estrarre alcune bitmap da un file .msstyles (i file di stile visivo di Windows XP) e non sono sicuro da dove cominciare. Non riesco a trovare alcuna documentazione su come farlo, e il formato del file sembra essere binario e non facilmente analizzabile. Sono stato in grado di estrarre la bitmap da solo usando:

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

Tuttavia, ho anche bisogno delle informazioni relative alla bitmap, come le dimensioni del margine, la spaziatura e il numero di "immagini" per bitmap. Qualcuno ha qualche esperienza con questo o qualche link alla documentazione che posso usare?

È stato utile?

Soluzione

Questo sito afferma che il formato del file è documentato sebbene non Microsoft.
Lo ho trovato anche nel Wine Crossreference .
Spero che ti aiuti!

Altri suggerimenti

Se vuoi estrarre direttamente i file da una dll (ricorda, i msstyles sono dll con un'altra estensione), puoi dare un'occhiata al Progetto Anolis .

Per quanto riguarda effettivamente l'analisi di quella roba, dovresti guardare i vari tutorial sulla creazione di stili msst per informazioni su come funzionano le varie risorse di testo in quel file.

Questo articolo codeproject sembra avere esattamente quello che vuoi, con un po 'di interoperabilità. Esiste un wrapper gestito e sembra piuttosto buono . Windows NetForms ha anche la funzionalità integrata, potresti voler dare un'occhiata allo spazio dei nomi System.Windows.Forms.VisualStyles se vuoi un accesso semplificato in sola lettura.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top