【问题标题】:Replace Version Info Resource替换版本信息资源
【发布时间】:2011-09-13 00:30:51
【问题描述】:


我正在我的程序中加载某个 Exe,我正在尝试替换它的版本信息资源。
我正在使用 UpdateResource(),但由于某种原因,它没有按预期替换原始资源。

UpdateResource(hHandle,RT_VERSION,"1",MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),pRsrcMemory,rsrcSize)

在资源编辑器中打开 Exe 时,我看到两个 ID 为 1 的版本信息资源,但在 Windows 资源管理器中显示的版本信息是原始信息。(可能是因为它位于 .rsrc 部分的第一位exe,但我不确定)

感谢任何帮助。

【问题讨论】:

    标签: c++ c windows winapi


    【解决方案1】:

    资源 ID 可以是字符串或数字。这是哪里的问题,不是资源ID“1”,而是MAKEINTRESOURCE(1)。

    有趣的益智游戏。

    【讨论】:

    • 非常感谢。现在工作正常:)
    【解决方案2】:

    您是否按照 MSDN 中要求的所有步骤更新 resources?即:

    1. 使用 BeginUpdateResource 函数打开 exe 的更新句柄。
    2. 使用 UpdateResource 函数对其进行更新。
    3. 使用 EndUpdateResource 函数完成更新。

    【讨论】:

    • 是的,我正在“添加”新资源使用相同的程序就好了,但我似乎无法替换版本信息资源。
    猜你喜欢
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多