我需要从.msstyles文件(Windows XP视觉样式文件)中提取一些位图,我不知道从哪里开始。我似乎找不到任何关于如何做的文档,文件格式似乎是二进制的,不容易解析。我已经能够使用以下方法自行提取位图:

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

但是,我还需要与位图相关的信息,如边距大小,间距和<!>“图像<!>”的数量。每位图。有没有人对这个或我可以使用的文档链接有任何经验?

有帮助吗?

解决方案

网站声称文件格式已记录但未通过微软。结果 也可以在葡萄酒交叉引用中找到。结果 希望有所帮助!

其他提示

如果你想直接从dll中获取文件(请记住,msstyles是带有另一个扩展名的dll),你可以查看 Anolis Project

至于实际解析这些内容,您应该查看有关创建msstyles的各种教程,以获取有关该文件中各种文本资源如何工作的信息。

代码项目文章似乎完全准确你想要什么,涉及一点互操作。 托管包装存在且看起来相当不错。 .Net WindowsForms还具有内置功能,如果您想要简化的只读访问,您可能需要查看System.Windows.Forms.VisualStyles命名空间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top