由于项目的需要,我的工作是把exe文件中的资源数据导出,然后存储为XML格式。然后在程序执行过程中将XML文件载入并进行解析,通过XML文件中的资源数据生成相应的界面。
现在的工作出现了障碍,我不太清楚如何用资源数据生成相应的资源。
那位高手知道解决的思路。就是说,我现在有生成一个资源的是所有数据,如何不通过资源编辑器,直接调用API在内存中生成相应的资源对象。
请大家给个思路。
急求解答!
先此谢过。

解决方案 »

  1.   

    toolbar需要保存位图,你怎么在XML中存位图?其它属性好说,比如按钮大小、顺序、名称、ID、对应位图索引。
    menu跟toolbar类似,无非是保存菜单项的顺序、类型、名称、ID、位图索引(如果有的话)。
    dialog只需要分析DLGTEMPLATE和DLGITEMTEMPLATE结构并保存其成员值即可,稍微有点麻烦的是里面要注意字节补齐的问题。
      

  2.   

    对话框可以用CreateDialogIndirect创建,工具栏和菜单可以用代码逐个创建、添加项目。
      

  3.   

    位图是用base64编码作为XML中的一个节点存储的。
    分析导出工作已经完成。
    现在是在导入时遇到了问题。
    现在不知道如何用XML中的数据重新生成资源对象。
      

  4.   

    就像2楼说的,toolbar和menu必须用代码逐个创建,dialog不太一样,你要在内存中构造DLGTEMPLATE结构,用保存的配置填充结构,然后使用CreateDialogIndirect或者DialogBoxIndirect来创建对话框
      

  5.   

    恩!基本就这样
    建立toolbar是CreateWindow
    建立Menu好像是CreateMenu