【问题标题】:How to parse an .msstyles file?如何解析 .msstyles 文件?
【发布时间】:2010-09-22 10:34:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# uxtheme msstyles


    【解决方案1】:

    This 网站声称文件格式已记录在文档中,但 Microsoft 并未记录。
    Wine Crossreference 中也找到了这个。
    希望对您有所帮助!

    【讨论】:

      【解决方案2】:

      如果您想直接从 dll 中获取文件(请记住,msstyle 是具有其他扩展名的 dll),您可以查看 Anolis Project

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

      Thiscodeproject 文章似乎正是您想要的,其中涉及到一点互操作。 managed wrapper 存在,看起来相当不错。 .Net WindowsForms 还具有内置功能,如果您想要简化只读访问,您可能需要查看 System.Windows.Forms.VisualStyles 命名空间。

      【讨论】:

        【解决方案3】:

        您可以使用7-zip打开msstyles,安装它,然后右键单击msstyles > 7-zip,里面打开了2个,一个作为普通按钮,另一个带有箭头,选择第二个,然后选择“#”

        您现在在 msstyles 中,现在右键单击 1..mst > 在里面打开 您现在在实际主题中,现在只需提取它的资源 Image of the msstyles open (is in spanish tho)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多