Función FindResourceExA (winbase.h)

Determina la ubicación del recurso con el tipo, el nombre y el idioma especificados en el módulo especificado.

Sintaxis

HRSRC FindResourceExA(
  [in, optional] HMODULE hModule,
  [in]           LPCSTR  lpType,
  [in]           LPCSTR  lpName,
  [in]           WORD    wLanguage
);

Parámetros

[in, optional] hModule

Tipo: HMODULE

Identificador del módulo cuyo archivo ejecutable portátil o un archivo MUI adjunto contiene el recurso. Si este parámetro es NULL, la función busca en el módulo usado para crear el proceso actual.

[in] lpType

Tipo: LPCTSTR

El tipo de recurso. Como alternativa, en lugar de un puntero, este parámetro puede ser MAKEINTRESOURCE(ID), donde ID es el identificador entero del especificado.

tipo de recurso. Para los tipos de recursos estándar, consulte Tipos de recursos. Para obtener más información, vea la sección Comentarios a continuación.

[in] lpName

Tipo: LPCTSTR

Nombre del recurso. Como alternativa, en lugar de un puntero, este parámetro puede ser MAKEINTRESOURCE(ID), donde ID es el identificador entero del recurso. Para obtener más información, vea la sección Comentarios a continuación.

[in] wLanguage

Tipo: WORD

Idioma del recurso. Si este parámetro es MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), se usa el idioma actual asociado al subproceso que realiza la llamada.

Para especificar un idioma distinto del lenguaje actual, use la macro MAKELANGID para crear este parámetro. Para obtener más información, vea MAKELANGID.

Valor devuelto

Tipo: HRSRC

Si la función se ejecuta correctamente, el valor devuelto es un identificador del bloque de información del recurso especificado. Para obtener un identificador para el recurso, pase este identificador a la función LoadResource .

Si la función no se realiza correctamente, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Si IS_INTRESOURCE es TRUE para x = lpType o lpName, x especifica el identificador entero del tipo o nombre del recurso especificado. De lo contrario, esos parámetros son punteros largos a cadenas terminadas en null. Si el primer carácter de la cadena es un signo de libra (#), los caracteres restantes representan un número decimal que especifica el identificador entero del nombre o tipo del recurso. Por ejemplo, la cadena "#258" representa el identificador entero 258.

Para reducir la cantidad de memoria necesaria para un recurso, una aplicación debe hacer referencia a él por identificador entero en lugar de por nombre.

Una aplicación puede usar FindResourceEx para buscar cualquier tipo de recurso, pero esta función solo se debe usar si la aplicación debe tener acceso a los datos de recursos binarios realizando llamadas posteriores a LoadResource y, a continuación, a LockResource.

Para usar un recurso inmediatamente, una aplicación debe usar una de las siguientes funciones específicas del recurso para buscar el recurso y convertir los datos en un formato más utilizable.

Función Acción
FormatMessage Carga y da formato a una entrada de tabla de mensajes.
LoadAccelerators Carga una tabla de aceleración.
LoadBitmap Carga un recurso de mapa de bits.
LoadCursor Carga un recurso de cursor.
LoadIcon Carga un recurso de icono.
LoadMenu Carga un recurso de menú.
LoadString Carga una entrada de tabla de cadenas.
 

Por ejemplo, una aplicación puede usar la función LoadIcon para cargar un icono para mostrarse en la pantalla. Sin embargo, la aplicación debe usar FindResourceEx y LoadResource si está cargando el icono para copiar sus datos en otra aplicación.

Los recursos de cadena se almacenan en secciones de hasta 16 cadenas por sección. Las cadenas de cada sección se almacenan como una secuencia de cadenas Unicode con recuento (no necesariamente terminadas en NULL). La función LoadString extraerá el recurso de cadena de su sección correspondiente.

Ejemplos

Para obtener un ejemplo, vea Crear una lista de recursos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Consulte también

Conceptual

FindResource

FormatMessage

IS_INTRESOURCE

LoadAccelerators

LoadBitmap

LoadCursor

LoadIcon

LoadMenu

LoadResource

LoadString

MAKELANGID

Otros recursos

Referencia

Recursos