Función ExtractIconExA (shellapi.h)

La función ExtractIconEx crea una matriz de identificadores en iconos grandes o pequeños extraídos del archivo ejecutable, dll o archivo de icono especificados.

Sintaxis

UINT ExtractIconExA(
  [in]  LPCSTR lpszFile,
  [in]  int    nIconIndex,
  [out] HICON  *phiconLarge,
  [out] HICON  *phiconSmall,
        UINT   nIcons
);

Parámetros

[in] lpszFile

Tipo: LPCTSTR

Puntero a una cadena terminada en null que especifica el nombre de un archivo ejecutable, un archivo DLL o un archivo de icono desde el que se extraerán los iconos.

[in] nIconIndex

Tipo: int

Especifica el índice de base cero del primer icono que se va a extraer. Por ejemplo, si este valor es cero, la función extrae el primer icono del archivo especificado.

Si este valor es –1 y phiconLarge y phiconSmall son NULL, la función devuelve el número total de iconos del archivo especificado. Si el archivo es un archivo ejecutable o DLL, el valor devuelto es el número de recursos de RT_GROUP_ICON. Si el archivo es un archivo .ico, el valor devuelto es 1.

Si este valor es un número negativo y phiconLarge o phiconSmall no es NULL, la función comienza extrayendo el icono cuyo identificador de recurso es igual al valor absoluto de nIconIndex. Por ejemplo, use -3 para extraer el icono cuyo identificador de recurso es 3.

[out] phiconLarge

Tipo: HICON*

Puntero a una matriz de identificadores de icono que recibe identificadores a los iconos grandes extraídos del archivo. Si este parámetro es NULL, no se extraen iconos grandes del archivo.

[out] phiconSmall

Tipo: HICON*

Puntero a una matriz de identificadores de icono que recibe identificadores a los pequeños iconos extraídos del archivo. Si este parámetro es NULL, no se extraen iconos pequeños del archivo.

nIcons

Tipo: UINT

Número de iconos que se van a extraer del archivo.

Valor devuelto

Tipo: UINT

Si el parámetro nIconIndex es -1 y los parámetros phiconLarge y phiconSmall son NULL, el valor devuelto es el número de iconos contenidos en el archivo especificado.

Si el parámetro nIconIndex es cualquier valor distinto de -1 y phiconLarge o phiconSmall no es NULL, el valor devuelto es el número de iconos extraídos correctamente del archivo.

Nota

Si la función encuentra un error, devuelve UINT_MAX. En este caso, puede llamar a GetLastError para recuperar el código de error. Por ejemplo, esta función devuelve UINT_MAX si no se encuentra el archivo especificado por lpszFile mientras que el parámetro nIconIndex es cualquier valor distinto de -1 y phiconLarge o phiconSmall no es NULL. En este caso, GetLastError devuelve ERROR_FILE_NOT_FOUND (2).

Comentarios

Cuando ya no sean necesarios, debe destruir todos los iconos extraídos por ExtractIconEx mediante una llamada a la función DestroyIcon .

Para recuperar las dimensiones de los iconos grandes y pequeños, use esta función con las marcas SM_CXICON, SM_CYICON, SM_CXSMICON y SM_CYSMICON.

Nota

El encabezado shellapi.h define ExtractIconEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shellapi.h
Archivo DLL Shell32.dll
Conjunto de API ext-ms-win-shell-shell32-l1-2-1 (introducido en Windows 10, versión 10.0.10240)

Consulte también

ExtractAssociatedIcon

ExtractAssociatedIconEx

ExtractIcon