c++ - 右键单击不可见 DLL 中的版本资源

标签 c++ visual-studio-2008 dll resources visual-c++-2008-express

我正在尝试做一些在常规 MSVC 中很容易做,但在 VC++ Express 中不容易支持的事情。

VC++ Express 中没有资源编辑器。所以我在我的 DLL 项目中添加了一个名为 version.rc 的文件。该文件具有以下内容,由资源编译器编译并添加到最终的 DLL 中。可以使用 reshacker 在 DLL 中查看此资源,但在 Windows 资源管理器中右键单击 DLL 时看不到。

我的 RC 文件缺少什么以使其在右键单击时显示?

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "something Application"
            VALUE "FileVersion", "1, 0, 0, 1"
            VALUE "InternalName", "something"
            VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
            VALUE "OriginalFilename", "something.exe"
            VALUE "ProductName", "something Application"
            VALUE "ProductVersion", "1, 0, 0, 1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END

最佳答案

我能够(使用 reshacker)看到我的资源和右键单击时出现的资源之间的一个区别,那就是资源的名称。所以我将 VS_VERSION_INFO 改为 1;现在资源在右键单击时可见。

1 VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "something Application"
            VALUE "FileVersion", "1, 0, 0, 1"
            VALUE "InternalName", "something"
            VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
            VALUE "OriginalFilename", "something.exe"
            VALUE "ProductName", "something Application"
            VALUE "ProductVersion", "1, 0, 0, 1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END

关于c++ - 右键单击不可见 DLL 中的版本资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/852568/

相关文章:

c - 从单个项目和代码库编辑、调试和构建 c dll 和 exe

c++ - gps 点的表示

c++ - 在非常大的数字序列中查找句点

c++ - 读取大文件时杀死 std::thread

java - 将 .dll 添加到 java 构建路径

C# .DLL 库 - 控制台和窗体 Windows 应用程序的最佳实践

c++ - 如何使用 ifstream (C++) 只读取一些以前知道的行

c++ - 将现有的 C++ 项目编译为 DLL

visual-studio-2008 - 当我遇到 C4192 警告时,我可以将 "exclude"与#import 指令一起使用吗?

visual-studio-2008 - 为什么在 VS2008 中 F10 这么慢?