添加、删除和替换资源
应用程序必须经常添加、删除或替换可执行文件中的资源。 可以使用两种方法来完成这些任务。 第一种是编辑资源定义文件、重新编译资源,并将重新编译的资源添加到应用程序的可执行文件。 第二种方法是将资源数据直接复制到应用程序的可执行文件中。
例如,若要本地化在挪威使用的英语应用程序,可能需要将英语对话框替换为使用挪威语的对话框。 开发人员通过使用对话框编辑器或在资源定义文件中编写模板来创建相应的对话框。 然后,开发人员重新编译资源,并将新资源添加到应用程序的可执行文件。
但是,如果二进制格式存在相应的对话框,开发人员可以使用以下函数将数据直接复制到要本地化的可执行文件。 BeginUpdateResource 函数创建要更改其资源的可执行文件的更新句柄。 UpdateResource 函数使用此句柄在可执行文件中添加、删除或替换资源。 EndUpdateResource 函数关闭句柄。
BeginUpdateResource 创建可执行文件的更新句柄后,应用程序可以重复使用 UpdateResource 来更改资源数据。 每次调用 UpdateResource 都会提供添加、删除和替换的内部列表,但实际上不会将数据写入可执行文件。 在关闭更新句柄之前, EndUpdateResource 会将累积的更改写入可执行文件。
有时,应用程序必须从另一个文件复制资源。 更新资源 显示从文件获取资源数据及其大小的示例。