Condividi tramite


Funzione ExtractIconExA (shellapi.h)

La funzione ExtractIconEx crea una matrice di handle a icone grandi o piccole estratte dal file eseguibile, dalla DLL o dal file icona specificato.

Sintassi

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

Parametri

[in] lpszFile

Tipo: LPCTSTR

Puntatore a una stringa con terminazione Null che specifica il nome di un file eseguibile, una DLL o un file icona da cui verranno estratte le icone.

[in] nIconIndex

Tipo: int

Specifica l'indice in base zero della prima icona da estrarre. Ad esempio, se questo valore è zero, la funzione estrae la prima icona nel file specificato.

Se questo valore è -1 e phiconLarge e phiconSmall sono entrambi NULL, la funzione restituisce il numero totale di icone nel file specificato. Se il file è un file eseguibile o una DLL, il valore restituito è il numero di risorse RT_GROUP_ICON. Se il file è un file .ico, il valore restituito è 1.

Se questo valore è un numero negativo e phiconLarge o phiconSmall non è NULL, la funzione inizia estraendo l'icona il cui identificatore di risorsa è uguale al valore assoluto di nIconIndex. Ad esempio, usare -3 per estrarre l'icona il cui identificatore di risorsa è 3.

[out] phiconLarge

Tipo: HICON*

Puntatore a una matrice di handle icona che riceve handle per le icone di grandi dimensioni estratte dal file. Se questo parametro è NULL, non vengono estratte icone di grandi dimensioni dal file.

[out] phiconSmall

Tipo: HICON*

Puntatore a una matrice di handle icona che riceve handle per le piccole icone estratte dal file. Se questo parametro è NULL, non vengono estratte icone piccole dal file.

nIcons

Tipo: UINT

Numero di icone da estrarre dal file.

Valore restituito

Tipo: UINT

Se il parametro nIconIndex è -1 ed entrambi i parametri phiconLarge e phiconSmall sono NULL, il valore restituito è il numero di icone contenute nel file specificato.

Se il parametro nIconIndex è qualsiasi valore diverso da -1 e phiconLarge o phiconSmall non è NULL, il valore restituito è il numero di icone estratte correttamente dal file.

Nota

Se la funzione rileva un errore, restituisce UINT_MAX. In questo caso, è possibile chiamare GetLastError per recuperare il codice di errore. Ad esempio, questa funzione restituisce UINT_MAX se non è possibile trovare il file specificato da lpszFile mentre il parametro nIconIndex è qualsiasi valore diverso da -1 e phiconLarge o phiconSmall non è NULL. In questo caso, GetLastError restituisce ERROR_FILE_NOT_FOUND (2).

Osservazioni

Quando non sono più necessari, è necessario eliminare tutte le icone estratte da ExtractIconEx chiamando la funzione DestroyIcon.

Per recuperare le dimensioni delle icone grandi e piccole, usare questa funzione con i flag SM_CXICON, SM_CYICON, SM_CXSMICON e SM_CYSMICON.

Nota

L'intestazione shellapi.h definisce ExtractIconEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione shellapi.h
dll Shell32.dll
set di API ext-ms-win-shell-shell32-l1-2-1 (introdotto in Windows 10, versione 10.0.10240)

Vedere anche

extractAssociatedIcon

ExtractAssociatedIconEx

ExtractIcon