Condividi tramite


Interfaccia IExtractIconA (shlobj_core.h)

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

Eredità

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

Metodi

L'interfaccia IExtractIconA dispone di questi metodi.

 
IExtractIconA::Extract

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

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

Osservazioni

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 identificatori di elemento (PIDL) dell'oggetto e l'ID dell'interfaccia di IExtractIcon (IID_IExtractIcon). La cartella crea un oggetto per gestire l'estrazione dell'icona e restituisce il puntatore dell'interfaccia IExtractI con 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 dispendiosa in termini di tempo. Per informazioni dettagliate, vedere IExtractIcon::GetIconLocation.

Estensioni dello spazio dei nomi implementare IExtractIcon per fornire icone per i relativi oggetti. Un client ottiene un puntatore di 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.

Gestori icone implementare anche IExtractIcon. Un gestore icone è un tipo di gestore dell'estensione shell che consente di assegnare dinamicamente le 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 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 shlobj_core.h