C++ DLL版本信息未显示在资源管理器中

C++ DLL版本信息未显示在资源管理器中,c++,windows,resources,C++,Windows,Resources,我现在有点奇怪。 我为VisualStudio Express开发的C++项目创建了一个资源文件。我使用ResEdit生成一个初始resource.rc文件,该文件如下所示: // Version Information resources // LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 1 VERSIONINFO FILEVERSION 0,0,0,0 PRODUCTVERSION 0,0,0,0 FILEOS

我现在有点奇怪。 我为VisualStudio Express开发的C++项目创建了一个资源文件。我使用ResEdit生成一个初始resource.rc文件,该文件如下所示:

// Version Information resources
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 VERSIONINFO
    FILEVERSION     0,0,0,0
    PRODUCTVERSION  0,0,0,0
    FILEOS          VOS__WINDOWS32
    FILETYPE        VFT_UNKNOWN
    FILESUBTYPE     VFT2_UNKNOWN
    FILEFLAGSMASK   0x00000000
    FILEFLAGS       0x00000000
{
    BLOCK "StringFileInfo"
    {
        BLOCK "040C04E4"
        {
            VALUE "Comments", ""
            VALUE "CompanyName", "MyCompany"
            VALUE "FileDescription", ""
            VALUE "FileVersion", ""
            VALUE "InternalName", ""
            VALUE "LegalCopyright", "MyCopyRight"
            VALUE "LegalTrademarks", ""
            VALUE "OriginalFilename", ""
            VALUE "PrivateBuild", ""
            VALUE "ProductName", ""
            VALUE "ProductVersion", "1.0"
            VALUE "SpecialBuild", ""
        }
    }
    BLOCK "VarFileInfo"
    {
        VALUE "Translation", 0x040C, 0x04E4
    }
}
构建项目时,如果在资源管理器中右键单击二进制文件,我可以看到“版本”选项卡。但是所有字段都是空白的,尽管我可以通过编程方式检索vsver信息:( 知道吗?这个RC文件有什么问题吗?
我正在使用法语版的Windows XP SP2或3。

您的资源脚本无法编译。您需要在资源脚本顶部包含
Windows.h
头文件:

#include <Windows.h>
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
....
#包括
语言语言中性,次语言中性
....

如果您注释掉
语言语言中性、子语言中性的部分并重新编译,会发生什么?@MicroVirus:同样的事情…字段仍然是空白的:(您可以尝试使用这个:。(它适用于美国英语(0x0409)和Unicode(1200/0x04B0),但如果这样做有效,您可以尝试更改语言和编码值).或者这可能有帮助?@microvirus不幸的是,我在这里发布之前已经检查并阅读了这些帖子:(