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) |