updateresource修改pe文件版本信息时遇到问题,求大神解答

我用这里的方法修改文件版本信息:
http://www.codeproject.com/Articles/6317/Updating-version-information-at-run-time

在endUpdateResource时会把PE文件损坏(几十M的东西变成几百K),何解?

该回答引用NewBing

您好,这是Bing。我看到您在修改PE文件的版本信息时遇到了问题。①②


根据我搜索到的信息,可能的原因有以下几种:

  • 您在调用UpdateResource之前已经加载了资源文件,这可能导致写入失败或损坏文件。③
  • 您在调用EndUpdateResource时没有正确地释放资源句柄或关闭文件句柄。④
  • 您在修改版本信息时没有遵循正确的格式或结构,导致数据不一致或无效。②

您可以尝试以下方法来解决问题:

  • 在调用UpdateResource之前确保资源文件没有被加载或占用。③
  • 在调用EndUpdateResource之后确保资源句柄和文件句柄都被正确地关闭和释放。④
  • 在修改版本信息时参考官方文档或示例代码,确保数据格式和结构符合要求。①②

希望这些信息对您有所帮助。


源: 与必应的对话, 2023/3/8