Share via


Agregar, eliminar y reemplazar recursos

Las aplicaciones suelen agregar, eliminar o reemplazar recursos en archivos ejecutables. Se pueden usar dos métodos para realizar estas tareas. La primera consiste en editar el archivo de definición de recursos, volver a compilar los recursos y agregar los recursos recompilados al archivo ejecutable de la aplicación. El segundo método consiste en copiar los datos de recursos directamente en el archivo ejecutable de la aplicación.

Por ejemplo, para localizar una aplicación en inglés para su uso en Noruega, puede que sea necesario reemplazar el cuadro de diálogo inglés por uno mediante noruego. Un desarrollador crea un cuadro de diálogo adecuado mediante un editor de cuadros de diálogo o escribiendo una plantilla en el archivo de definición de recursos. A continuación, el desarrollador vuelve a compilar los recursos y agrega los nuevos recursos al archivo ejecutable de la aplicación.

Sin embargo, si existe un cuadro de diálogo adecuado en formato binario, el desarrollador puede copiar los datos directamente en el archivo ejecutable que se localiza mediante las siguientes funciones. La función BeginUpdateResource crea un identificador de actualización para el archivo ejecutable cuyos recursos se van a cambiar. La función UpdateResource usa este identificador para agregar, eliminar o reemplazar un recurso en el archivo ejecutable. La función EndUpdateResource cierra el identificador.

Una vez creado un identificador de actualización a un archivo ejecutable por BeginUpdateResource, una aplicación puede usar UpdateResource repetidamente para realizar cambios en los datos del recurso. Cada llamada a UpdateResource contribuye a una lista interna de adiciones, eliminaciones y reemplazos, pero no escribe realmente los datos en el archivo ejecutable. Inmediatamente antes de cerrar el identificador de actualización, EndUpdateResource escribe los cambios acumulados en el archivo ejecutable.

A veces, una aplicación debe copiar recursos de otro archivo. La actualización de recursos muestra un ejemplo de obtención de los datos de recursos y su tamaño a partir de un archivo.