C 抓取windows文件信息

C 抓取windows文件信息,c,file,filesystems,C,File,Filesystems,在本文之后的C语言中,我们已经成功地从windows文件中获取了文件版本信息,但是有些文件似乎有不同的机制来存储本文中没有提到的版本信息,我们想知道这里是否有人有任何想法 文件的一个示例是system32/oledlg.dll。逐字节浏览文件,我们会看到一个块,其中应该存储版本信息: F^@i^@l^@e^@V^@e^@r^@s^@i^@o^@n^@^@^@^@^1.0 (x^@p^@s^@p^@.^@0^@8^@0^@4^@1^@3 ^@-^@2^@1^@0^@8^@)^@^@^@^@^@.^

在本文之后的C语言中,我们已经成功地从windows文件中获取了文件版本信息,但是有些文件似乎有不同的机制来存储本文中没有提到的版本信息,我们想知道这里是否有人有任何想法

文件的一个示例是system32/oledlg.dll。逐字节浏览文件,我们会看到一个块,其中应该存储版本信息:

F^@i^@l^@e^@V^@e^@r^@s^@i^@o^@n^@^@^@^@^1.0 (x^@p^@s^@p^@.^@0^@8^@0^@4^@1^@3
^@-^@2^@1^@0^@8^@)^@^@^@^@^@.^@^G^@^A^@I^@n^@t^@e^@r^@n^@a^@l^@N^@a^@m^@e
我们可以看到的是1.0。但是,在windows中查看文件信息时,版本实际上是5.1.2600.5512。本文中的方法适用于大多数文件,但我遇到过一些实例,其中遇到了上述问题。有人有这方面的经验吗?我只能使用标准C

根据评论中的后续文章,这是否意味着无法从具有损坏文件信息块的文件中获取实际文件版本


我还应该补充一点,我正在从windows框中获取文件,然后在linux上用C程序检查它们以获取文件信息。

结果是,该文件的信息错误,用于获取版本,实际上不需要文件版本块,但需要VS_Version_INFO块。

您是否考虑了第一篇文章末尾提到的后续文章中的信息?我错过了,谢谢,我会看看我能用它做些什么。