Es bastante simple: en su solución, cambie a la vista de recursos, haga clic derecho en su archivo RC, seleccione "Agregar recurso", haga clic en "Importar", seleccione "Todos los archivos" y abra el archivo que desee. Se le solicitará que escriba un tipo de recurso personalizado. Ingrese "TEXTO" por ejemplo.
Ahora puede cargar su recurso personalizado así:
HRSRC hRes = FindResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_TEXT1), _T("TEXT"));
DWORD dwSize = SizeofResource(GetModuleHandle(NULL), hRes);
HGLOBAL hGlob = LoadResource(GetModuleHandle(NULL), hRes);
const BYTE* pData = reinterpret_cast<const BYTE*>(::LockResource(hGlob));
No es necesario para desbloquear o liberar el recurso, por lo que este código se puede utilizar exactamente como está escrito, sin escala adicionales. El recurso se liberará cuando su programa finalice.
AfxGetResourceHandle solo está disponible en MFC. ¿Alguna idea de qué API puedo usar en win32? Estoy creando un exe y todos los recursos están en ese exe. – anand
Utilice GetModuleHandle (NULL). Cambié mi respuesta en consecuencia. – humbagumba
GetModuleHandle (NULL) funciona para los recursos EXE, pero el identificador del módulo DLL debe proporcionarse para los recursos ubicados en él. Y no olvides anular terminar la cadena dado posibles caracteres basura que siguen en el globo. – bvj