Partager via


ExtractIconExW, fonction (shellapi.h)

La fonction ExtractIconEx crée un tableau de handles à des icônes volumineuses ou petites extraites du fichier exécutable, dll ou fichier d’icône spécifié.

Syntaxe

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

Paramètres

[in] lpszFile

Type : LPCTSTR

Pointeur vers une chaîne terminée par null qui spécifie le nom d’un fichier exécutable, d’une DLL ou d’un fichier d’icône à partir duquel les icônes seront extraites.

[in] nIconIndex

Type : int

Spécifie l’index de base zéro de la première icône à extraire. Par exemple, si cette valeur est égale à zéro, la fonction extrait la première icône dans le fichier spécifié.

Si cette valeur est –1 et phiconLarge et phiconSmall sont toutes les deux NULL, la fonction retourne le nombre total d’icônes dans le fichier spécifié. Si le fichier est un fichier exécutable ou une DLL, la valeur de retour est le nombre de ressources RT_GROUP_ICON. Si le fichier est un fichier .ico, la valeur de retour est 1.

Si cette valeur est un nombre négatif et que phiconLarge ou phiconSmall n’est pas NULL, la fonction commence par extraire l’icône dont l’identificateur de ressource est égal à la valeur absolue de nIconIndex. Par exemple, utilisez -3 pour extraire l’icône dont l’identificateur de ressource est 3.

[out] phiconLarge

Type : HICON*

Pointeur vers un tableau de poignées d’icônes qui reçoit des handles vers les grandes icônes extraites du fichier. Si ce paramètre est null, aucune icône volumineuse n’est extraite du fichier.

[out] phiconSmall

Type : HICON*

Pointeur vers un tableau de poignées d’icônes qui reçoit des handles vers les petites icônes extraites du fichier. Si ce paramètre est NULL, aucune petite icône n’est extraite du fichier.

nIcons

Type : uiNT

Nombre d’icônes à extraire du fichier.

Valeur de retour

Type : uiNT

Si le paramètre nIconIndex est -1 et que les paramètres phiconLarge et phiconSmall sont NULL, la valeur de retour est le nombre d’icônes contenues dans le fichier spécifié.

Si le paramètre nIconIndex n’est autre que -1 et que phiconLarge ou phiconSmall n’est pas NULL, la valeur de retour est le nombre d’icônes extraites du fichier.

Note

Si la fonction rencontre une erreur, elle retourne UINT_MAX. Dans ce cas, vous pouvez appeler GetLastError pour récupérer le code d’erreur. Par exemple, cette fonction retourne UINT_MAX si le fichier spécifié par lpszFile est introuvable alors que le paramètre nIconIndex n’est aucune valeur autre que -1 et que phiconLarge ou phiconSmall n’est pas NULL. Dans ce cas, GetLastError retourne ERROR_FILE_NOT_FOUND (2).

Remarques

Lorsqu’elles ne sont plus nécessaires, vous devez détruire toutes les icônes extraites par ExtractIconEx en appelant la fonction DestroyIcon.

Pour récupérer les dimensions des icônes volumineuses et petites, utilisez cette fonction avec les indicateurs SM_CXICON, SM_CYICON, SM_CXSMICON et SM_CYSMICON.

Note

L’en-tête shellapi.h définit ExtractIconEx comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête shellapi.h
DLL Shell32.dll
ensemble d’API ext-ms-win-shell-shell32-l1-2-1 (introduit dans Windows 10, version 10.0.10240)

Voir aussi

ExtractAssociatedIcon

ExtractAssociatedIconEx

ExtractIcon