替换版本信息资源

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

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

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

任何帮助表示赞赏。

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

有趣的益智游戏。

您是否按照MSDN中要求更新资源的所有步骤进行操作? 即:

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