2009-07-02 14 views
6

¿Cómo creo un recurso incrustado y luego accedo desde C++?Recurso incrustado en C++

Cualquier ejemplo sobre cómo leer el recurso sería genial.

Estoy utilizando Visual Studio 2005.

Gracias de antemano.

Editar: Quiero poner un archivo xsd que se requiere al validar el esquema del archivo xml recibido.

Respuesta

9

que estoy haciendo @Sharptooth explicado antes y usar el siguiente código para obtener el recurso

HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), type); 
HGLOBAL hRes = LoadResource(hInstance, hResInfo); 
LPVOID memRes = LockResource(hRes); 
DWORD sizeRes = SizeofResource(hInstance, hResInfo); 

Aquí usted tiene que cambiar resourceId y type.

Por ejemplo, para un archivo .png utilizo FindResource(hInstance, MAKEINTRESOURCE(bitmapId), _T("PNG")); (la cadena "PNG" es del tipo que usó al agregar un recurso personalizado).

+0

¿cómo se obtiene el control del dll en tiempo de ejecución? – Gilad

+0

¿Puede verificar si estas preguntas ayudan a "¿Cómo puedo obtener HINSTANCE de una DLL?" http://stackoverflow.com/questions/2126657/how-can-i-get-hinstance-from-a-dll#2126689 – Ismael

3

Agregue un archivo de recursos (.rc) al proyecto, coloque la descripción del recurso allí. Al construir el proyecto, el compilador de recursos compilará el archivo de recursos y el vinculador vinculará el archivo de recursos compilados en el módulo ejecutable resultante.

En tiempo de ejecución, invoca FindResource(), luego LoadResource() funciones de WinAPI.

Cuestiones relacionadas