Как разобрать файл .msstyles? - PullRequest
2 голосов
/ 15 ноября 2008

Мне нужно извлечь некоторые растровые изображения из файла .msstyles (файлы визуальных стилей Windows XP), и я не уверен, с чего начать. Кажется, я не могу найти какую-либо документацию о том, как это сделать, а формат файла кажется двоичным и не так легко анализируется. Я был в состоянии извлечь растровое изображение самостоятельно, используя:

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

Однако мне также нужна информация, относящаяся к растровому изображению, например размеры полей, интервалы и количество «изображений» на растровое изображение. У кого-нибудь есть опыт работы с этой или какими-либо ссылками на документацию, которую я могу использовать?

Ответы [ 2 ]

3 голосов
/ 15 ноября 2008

Этот сайт утверждает, что формат файла задокументирован, но не компанией Microsoft.
Также найдено это в Wine Crossreference .
Надеюсь, это поможет!

1 голос
/ 17 ноября 2008

Если вы хотите получить файлы непосредственно из dll (помните, что msstyles - это dll с другим расширением), вы можете взглянуть на Anolis Project .

Что касается фактического разбора этого материала, вы должны взглянуть на различные учебные пособия по созданию msstyles для получения информации о том, как работают различные текстовые ресурсы в этом файле.

Эта статья о кодпроекте , кажется, содержит именно то, что вам нужно, с небольшим вмешательством. управляемая оболочка существует, и это выглядит довольно хорошо. .Net WindowsForms также имеет встроенную функциональность, вы можете обратиться к пространству имен System.Windows.Forms.VisualStyles, если вам нужен упрощенный доступ только для чтения.

...