如何从 VB6 .frx 文件中提取图像?

How do I extract images from a VB6 .frx file?

我正在将一些 VB6 代码转换为 C#。 VB6 将资源存储在 .frx 文件中,与 C# 将其存储在 .resx 文件中的方式相同。如何将 .frx 文件中的图像转换成可以嵌入到 .resx 文件中的图像?

在 .frm 文件中,它包含这样的行:

    Image = "blah.frx" : 1234

字符串是文件(很明显),数字是图像的十六进制偏移量。在该位置有一个 12 字节 header,最后 4 个字节 header 包含图像的字节长度。图像本身紧跟在 12 字节 header.

之后

转换为 .resx 只是对该图像调用 Convert.ToBase64String()。

这是部分答案 -- 有一个实用程序可用于执行提取部分。

GfxFromFrx: How to extract graphics from VB binary property files

布拉德·马丁内斯。

它将以任何格式提取资源——图标、位图、光标等,并保存到单独的文件中。

此实用程序的原始位置在这里:site and code zip

它可能不再存在,但存档位于此处:site and code zip