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

时间:2014-02-26 12:07:22

标签: c++ windows resources

我目前正在经历一些奇怪的事情。 我已经为使用Visual Studio 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。

1 个答案:

答案 0 :(得分:0)

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

#include <Windows.h>
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
....