2011-09-13 59 views
0


我在我的程序中加載某個exe文件,我試圖替換它的版本信息資源。
我正在使用UpdateResource(),但出於某種原因,它不會取代原來的資源,因爲它應該這樣做。
替換版本信息資源

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

當exe文件在資源編輯器中打開,我看到了兩個版本信息資源具有相同ID 1,但在Windows資源管理器中顯示的版本信息是原始信息。(可能是因爲它是第一位的該exe文件的.rsrc部分,但我不知道)

任何幫助表示讚賞。

回答

1

資源ID可以是字符串或數字。這裏的問題是,它不是資源ID「1」,它是MAKEINTRESOURCE(1)。

有趣的益智遊戲。

+0

非常感謝。現在工作良好:) –

0

您是否遵循MSDN中爲更新resources而需要執行的所有步驟?即:

  1. 使用BeginUpdateResource函數打開您的exe的更新句柄。
  2. 使用UpdateResource函數進行更新。
  3. 使用EndUpdateResource函數完成更新。
+0

是的,我正在「添加」新的資源很好,相同的例程,但我似乎無法取代版本信息資源。 –