winapi如何以编程方式更改Windows资源语言

时间:2014-09-12 18:43:45

标签: c winapi assembly data-structures mui

尝试以编程方式将资源语言更改为exe / dll文件,我已尝试使用UpdateResource执行此操作,但由于每个项目的语言不是资源模板的一部分,因此它无法正常工作在结构调用者RESOURCEHEADER中,它位于每种资源类型的开头... 因此访问这一部分似乎有点复杂,没有api这样做... 唯一剩下的就是对结构进行反向工程并直接更新二进制文件,但我更喜欢在之前询问...

谢谢你们

1 个答案:

答案 0 :(得分:1)

我想不出你为什么要这样做,但无论如何......

呼叫

UpdateResource(hUpdate, lpType, lpName, wOldLanguage,  0, 0);

删除现有语言资源和

UpdateResource(hUpdate, lpType, lpName, wNewLanguage, lpData, cbData);

使用新的语言标识符编写新资源,其中lpDatacbData引用现有资源数据的副本。

请注意,如果使用MUI,它会变得更复杂。 UpdateResource文档包含详细信息。