Funzione SHExtractIconsW

Crea una matrice di handle per le icone estratte da un file specificato.

Nota

Questa funzione è disponibile tramite Windows XP Service Pack 2 (SP2). Potrebbe essere modificata o non disponibile nelle versioni successive. Usare invece la funzione SHDefExtractIcon .

Sintassi

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

Parametri

pszFileName [in]

Tipo: LPCWSTR

Puntatore al nome del file da cui estrarre le icone.

nIconIndex [in]

Tipo: int

Indice della prima icona da estrarre dalla risorsa denominata in pszFileName.

cxIcon [in]

Tipo: int

Larghezza desiderata dell'icona. Vedere la sezione Osservazioni.

cyIcon [in]

Tipo: int

Altezza desiderata dell'icona. Vedere la sezione Osservazioni.

phIcon [out]

Tipo: HICON*

Quando questa funzione viene restituita, contiene un puntatore alla matrice di handle icona.

pIconId [out]

Tipo: UINT*

Quando questa funzione termina, contiene un puntatore all'identificatore di risorsa dell'icona estratta che meglio si adatta al dispositivo di visualizzazione corrente. Se non è disponibile alcun identificatore per questo formato, contiene 0xFFFFFFFF. Se non è possibile ottenere alcun identificatore per qualsiasi altro motivo, restituisce zero.

nIcons [in]

Tipo: UINT

Numero di icone da estrarre dalla risorsa denominata in pszFileName. Questo parametro è valido solo quando la risorsa è un file con estensione exe o DLL.

flag [in]

Tipo: UINT

Flag che controllano questa funzione. Per i valori possibili, vedere il parametro fuLoad della funzione LoadImage .

Valore restituito

Tipo: UINT

Valore diverso da zero se riuscito; in caso contrario, zero.

Osservazioni:

SHExtractIconsW estrae dai tipi di file seguenti.

  • Eseguibile (con estensione exe)
  • DLL (.dll)
  • Icona (.ico)
  • Cursore (con estensione cur)
  • Cursore animato (.ani)
  • Bitmap (.bmp)

Estrazione da Windows 3.Sono supportati anche i file eseguibili a 16 bit (con estensione exe o DLL).

I parametri cxIcon e cyIcon specificano le dimensioni delle icone da estrarre. È possibile estrarre due dimensioni tramite ogni parametro suddividendo il valore tra LOWORD e HIWORD. Inserire la prima dimensione desiderata nel LOWORD del parametro e la seconda dimensione nell'HIWORD. Ad esempio, MAKELONG(24, 48) per cxIcon e cyIcon estrae sia icone di dimensioni 24 che 48.

Il processo chiamante è responsabile dell'eliminazione di tutte le icone estratte tramite questa funzione chiamando la funzione DestroyIcon.

SHExtractIconsW non viene esportato per nome o dichiarato in un file di intestazione pubblica. Per usarlo, è necessario dichiarare un prototipo corrispondente e usare GetProcAddress per richiedere un puntatore a funzione da Shell32.dll che può essere usato per chiamare questa funzione.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
DLL
Shell32.dll (versione 5.0 o successiva)
Nomi Unicode e ANSI
SHExtractIconsW (Unicode)