替换版本信息资源

时间:2011-09-13 00:30:52

标签: c++ c windows winapi


我正在加载我的程序中的某个Exe,我正在尝试替换它的版本信息资源 我正在使用UpdateResource()但由于某种原因它不会像原来那样替换原始资源。

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

当在资源编辑器中打开Exe时,我看到两个版本的Info资源具有相同的ID 1,但Windows资源管理器中显示的版本信息是原始信息。(可能是因为它首先出现在.rsrc部分中。 exe,但我不确定)

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

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

有趣的益智游戏。

答案 1 :(得分:0)

您是否正在关注MSDN中要求更新resources的所有步骤?即:

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