Función SHExtractIconsW

Crea una matriz de identificadores para los iconos extraídos de un archivo especificado.

Nota:

Esta función está disponible a través de Windows XP Service Pack 2 (SP2). Es posible que se modifique o no esté disponible en versiones posteriores. En su lugar, use la función SHDefExtractIcon.

Sintaxis

UINT SHExtractIconsW(
  _In_  LPCWSTR pszFileName,
  _In_  int     nIconIndex,
  _In_  int     cxIcon,
  _In_  int     cyIcon,
  _Out_ HICON   *phIcon,
  _Out_ UINT    *pIconId,
  _In_  UINT    nIcons,
  _In_  UINT    flags
);

Parámetros

pszFileName [in]

Tipo: LPCWSTR

Puntero al nombre de archivo desde el que se van a extraer los iconos.

nIconIndex [in]

Tipo: int

Índice del primer icono que se va a extraer del recurso denominado en pszFileName.

cxIcon [in]

Tipo: int

Ancho deseado del icono. Vea la sección Comentarios.

cyIcon [in]

Tipo: int

Alto deseado del icono. Vea la sección Comentarios.

phIcon [out]

Tipo: HICON*

Cuando se devuelve esta función, contiene un puntero a la matriz de identificadores de icono.

pIconId [out]

Tipo: UINT*

Cuando se devuelve esta función, contiene un puntero al identificador de recurso del icono extraído que mejor se ajusta al dispositivo de visualización actual. Si no hay ningún identificador disponible para este formato, contiene 0xFFFFFFFF. Si no se puede obtener ningún identificador por cualquier otro motivo, devuelve cero.

nIcons [in]

Tipo: UINT

Número de iconos que se van a extraer del recurso denominado en pszFileName. Este parámetro solo es válido cuando el recurso es un archivo .exe o .dll.

Flags \[in\]

Tipo: UINT

Marcas que controlan esta función. Para obtener los valores posibles, consulte el parámetro fuLoad de la función LoadImage .

Valor devuelto

Tipo: UINT

Valor distinto de cero si se ejecuta correctamente; de lo contrario, cero.

Comentarios

SHExtractIconsW extrae de los siguientes tipos de archivo.

  • Ejecutable (.exe)
  • DLL (.dll)
  • Icon (.ico)
  • Cursor (.cur)
  • Cursor animado (.ani)
  • Mapa de bits (.bmp)

Las extracciones de Windows 3. x 16 bit también admiten archivos ejecutables (.exe o .dll).

Los parámetros cxIcon y cyIcon especifican el tamaño de los iconos que se van a extraer. Se pueden extraer dos tamaños a través de cada parámetro dividiendo el valor entre su LOWORD y HIWORD. Coloque el primer tamaño deseado en la LOWORD del parámetro y el segundo tamaño en HIWORD. Por ejemplo, MAKELONG(24, 48) para cxIcon y cyIcon extrae iconos de tamaño 24 y 48.

El proceso de llamada es responsable de destruir todos los iconos extraídos a través de esta función llamando a la función DestroyIcon.

SHExtractIconsW no se exporta por nombre ni se declara en un archivo de encabezado público. Para usarlo, debe declarar un prototipo coincidente y usar GetProcAddress para solicitar un puntero de función desde Shell32.dll que se puede usar para llamar a esta función.

Requisitos

Requisito Valor
Cliente mínimo compatible
Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Archivo DLL
Shell32.dll (versión 5.0 o posterior)
Nombres Unicode y ANSI
SHExtractIconsW (Unicode)