Partager via


Interface IExtractIconA (shlobj_core.h)

Expose des méthodes qui permettent à un client de récupérer l’icône associée à l’un des objets d’un dossier.

Héritage

L’interface IExtractIcon hérite de l’interface IUnknown. IExtractIcon a également ces types de membres :

Méthode

L’interface IExtractIconA a ces méthodes.

 
IExtractIconA ::Extract

Extrait une image d’icône à partir de l’emplacement spécifié. (ANSI)
IExtractIconA ::GetIconLocation

Obtient l’emplacement et l’index d’une icône. (ANSI)

Remarques

Il existe deux façons de récupérer l’icône d’un objet. La façon la plus simple consiste à appeler SHGetFileInfo. Toutefois, cette approche est inflexible et peut être lente. Un moyen plus flexible et efficace de récupérer l’icône d’un élément consiste à utiliser IExtractIcon . L’interpréteur de commandes utilise IExtractIcon pour récupérer des icônes lorsqu’il affiche le contenu d’un dossier. Pour utiliser IExtractIcon pour récupérer l’icône d’un objet, procédez comme suit :

  1. Obtenez un pointeur vers l’interface IShellFolder du dossier qui contient l’objet.
  2. Appelez IShellFolder ::GetUIObjectOf avec le pointeur vers une liste d’identificateurs d’élément (PIDL) de l’objet et l’ID d’interface de IExtractIcon (IID_IExtractIcon). Le dossier crée un objet pour gérer l’extraction d’icônes et retourne le pointeur d’interface IExtractIcon de l’objet.
  3. Appelez IExtractIcon ::GetIconLocation pour récupérer l’emplacement de l’icône.
  4. Appelez IExtractIcon ::Extract pour récupérer le handle de l’icône.
Il peut également être possible d’extraire des icônes de manière asynchrone sur un thread d’arrière-plan. Cette approche est utile lorsque l’extraction est une opération fastidieuse. Pour plus d’informations, consultez IExtractIcon ::GetIconLocation.

extensions d’espace de noms implémenter IExtractIcon pour fournir des icônes pour leurs objets. Un client obtient un pointeur d’interface IExtractIcon pour un objet dans un dossier en appelant la méthode IShellFolder ::GetUIObjectOf du dossier. L’implémentation IShellFolder ::GetUIObjectOf doit créer un objet pour gérer l’extraction d’icônes et retourner un pointeur vers l’interface IExtractIcon de l’objet.

gestionnaires d’icônes implémentent également IExtractIcon. Un gestionnaire d’icônes est un type de gestionnaire d’extensions Shell qui vous permet d’affecter dynamiquement des icônes aux membres d’un type de fichier .

Appelez cette interface si votre application a besoin d’un moyen plus flexible de récupérer l’icône d’un objet que SHGetFileInfo.

Note

L’en-tête shlobj_core.h définit IExtractIcon 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 shlobj_core.h