Funzione ExtractIconExA (shellapi.h)

La funzione ExtractIconEx crea una matrice di handle in icone di grandi o piccole dimensioni 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 corrisponde al numero di risorse RT_GROUP_ICON. Se il file è un file con estensione 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 di 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, dal file non vengono estratte icone di piccole dimensioni.

nIcons

Tipo: UINT

Numero di icone da estrarre dal file.

Valore restituito

Tipo: UINT

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

Se il parametro nIconIndex è un 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 è un valore diverso da -1 e phiconLarge o phiconSmall non è NULL. In questo caso, GetLastError restituisce ERROR_FILE_NOT_FOUND (2).

Commenti

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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
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)

Vedi anche

ExtractAssociatedIcon

ExtractAssociatedIconEx

ExtractIcon