I need to extract some bitmaps from an .msstyles file (the Windows XP visual style files) and I'm not sure where to start. I can't seem to find any documentation on how to do it, and the file format seems to be binary and not easily parsed. I have been able to extract the bitmap by itself using:
IntPtr p = LoadLibrary(UxTheme.ThemeName)...
I am trying to use GetThemeFont to read the font data from a visual style, but I can't seem to get it to return anything. Here is how I'm using it:
IntPtr h = OpenThemeData(this.Handle, "Button");
LOGFONT font = new LOGFONT();
int r = GetThemeFont(h, IntPtr.Zero, 1, 1, 210, out font);
CloseThemeData(h);
The return value is always "-21...
I code GUIs in .NET frequently, and most of them only have the value of being a GUI, e.g. they don't do anything otherwise impossible. So most of the development goes to making them friendly, intuitive and eye-candy.
Then it comes to my mind it would be simply amazing to skin them through .msstyles files, since there are so many places ...