Le funzionalità della shell possono essere estese con voci del Registro di sistema e .ini file. Anche se questo approccio all'estensione della shell è semplice e adeguato per molti scopi, è limitato. Ad esempio, se si usa il Registro di sistema per specificare un'icona personalizzata per un tipo di file, verrà visualizzata la stessa icona per ogni file di quel tipo. L'estensione della shell con il Registro di sistema non consente di variare l'icona per i diversi membri del tipo di file. Altri aspetti della shell, ad esempio la finestra delle proprietà Proprietà che è possibile visualizzare quando si fa clic con il pulsante destro del mouse su un file, non possono essere modificati affatto con il Registro di sistema.
Un approccio più potente e flessibile per estendere shell consiste nell'implementare gestori di estensioni della shell. Questi gestori possono essere implementati per un'ampia gamma di azioni che la shell può eseguire. Prima di eseguire l'azione, Shell esegue una query sul gestore dell'estensione, offrendo la possibilità di modificare l'azione. Un esempio comune è un gestore dell'estensione del menu di scelta rapida. Se ne viene implementato uno per un tipo di file, verrà eseguita una query ogni volta che si fa clic con il pulsante destro del mouse su uno dei file. Il gestore può quindi specificare voci di menu aggiuntive in base al file, anziché avere lo stesso set per tutti i file di quel tipo di file.
Questo set di argomenti illustra come implementare i gestori di estensione che consentono di modificare un'ampia gamma di azioni della shell. I gestori seguenti sono associati a un tipo di file specifico e consentono di specificare in base al file.
Chiamato quando viene eseguita un'operazione di trascinamento della selezione su oggetti Shell. Consente di fornire altri formati degli Appunti alla destinazione di rilascio.
Chiamato prima che venga visualizzata l'icona di un file. Consente di sostituire l'icona predefinita del file con un'icona personalizzata in base al file.
Fornisce l'accesso in lettura e scrittura ai metadati (proprietà) archiviati in un file. Può essere usato per estendere la visualizzazione Dettagli, le descrizioni info, la pagina delle proprietà e le funzionalità di raggruppamento.
Altri non sono associati a un tipo di file specifico, ma vengono chiamati prima di alcune operazioni della shell.
Chiamato da Esplora risorse prima di visualizzare la visualizzazione Dettagli di una cartella. Consente di aggiungere colonne personalizzate alla visualizzazione Dettagli.
Chiamato per avviare un motore di ricerca. Consente di implementare un motore di ricerca personalizzato accessibile dal menu Start o da Esplora risorse.
I dettagli su come implementare gestori di estensione specifici sono illustrati nelle sezioni elencate in precedenza. Per le discussioni sui problemi di implementazione comuni a tutti i gestori di estensioni shell, vedere gli argomenti seguenti:
Le app per la finanza e le operazioni vengono personalizzate mediante le estensioni, che consentono di aggiungere funzionalità agli elementi del modello e al codice sorgente nella Struttura a oggetti applicativi (AOT) usando Visual Studio.