Interfaccia IExtractIconA (shlobj_core.h)

Espone i metodi che consentono a un client di recuperare l'icona associata a uno degli oggetti in una cartella.

Ereditarietà

L'interfaccia IExtractIcon eredita dall'interfaccia IUnknown . IExtractIcon include anche questi tipi di membri:

Metodi

L'interfaccia IExtractIconA include questi metodi.

 
IExtractIconA::Extract

Estrae un'immagine dell'icona dalla posizione specificata. (ANSI)
IExtractIconA::GetIconLocation

Ottiene la posizione e l'indice di un'icona. (ANSI)

Commenti

Esistono due modi per recuperare l'icona di un oggetto. Il modo più semplice consiste nel chiamare SHGetFileInfo. Tuttavia, questo approccio è inflessibile e può essere lento. Un modo più flessibile ed efficiente per recuperare l'icona di un elemento consiste nell'usare IExtractIcon. Shell usa IExtractIcon per recuperare le icone quando visualizza il contenuto di una cartella. Per usare IExtractIcon per recuperare l'icona di un oggetto, eseguire le operazioni seguenti:

  1. Ottenere un puntatore all'interfaccia IShellFolder della cartella che contiene l'oggetto .
  2. Chiamare IShellFolder::GetUIObjectOf con il puntatore a un elenco di elementi (PIDL) dell'oggetto e l'ID interfaccia di IExtractIcon (IID_IExtractIcon). La cartella crea un oggetto per gestire l'estrazione dell'icona e restituisce il puntatore dell'interfaccia IExtractIcon dell'oggetto.
  3. Chiamare IExtractIcon::GetIconLocation per recuperare la posizione dell'icona.
  4. Chiamare IExtractIcon::Extract per recuperare l'handle dell'icona.
Può anche essere possibile estrarre le icone in modo asincrono in un thread di sfondo. Questo approccio è utile quando l'estrazione è un'operazione che richiede tempo. Per informazioni dettagliate, vedere IExtractIcon::GetIconLocation.

Le estensioni dello spazio dei nomi implementano IExtractIcon per fornire icone per gli oggetti. Un client ottiene un puntatore dell'interfaccia IExtractIcon per un oggetto in una cartella chiamando il metodo IShellFolder::GetUIObjectOf della cartella. L'implementazione IShellFolder::GetUIObjectOf deve creare un oggetto per gestire l'estrazione dell'icona e restituire un puntatore all'interfaccia IExtractIcon dell'oggetto.

I gestori icona implementano anche IExtractIcon. Un gestore icona è un tipo di gestore estensione shell che consente di assegnare dinamicamente icone ai membri di un tipo di file.

Chiamare questa interfaccia se l'applicazione richiede un modo più flessibile per recuperare l'icona di un oggetto rispetto a SHGetFileInfo.

Nota

L'intestazione shlobj_core.h definisce IExtractIcon come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlobj_core.h