Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Quando un file viene copiato negli Appunti o trascinato e rilasciato, Shell crea un oggetto dati che supporta una varietà di formati standard degli Appunti . Per i file di un tipo specifico, è possibile estendere i formati disponibili negli Appunti implementando e registrando un gestore dati . Quando viene trasferito un file del tipo di file, i delegati shell chiamano all'oggetto dati 'interfaccia IDataObject al gestore dati se viene utilizzato uno dei formati personalizzati.
Le procedure generali per l'implementazione e la registrazione di un gestore di estensioni shell sono descritte in Creazione di gestori dell'estensione shell. Questo documento è incentrato sugli aspetti dell'implementazione specifici dei gestori dati.
Disposizioni
Passaggio 1: Implementazione dei gestori dati
Come tutti i gestori di estensione shell, i gestori dati sono oggetti COM (Component Object Model) in-process implementati come DLL. Esportano due interfacce oltre a IUnknown: IPersistFile e IDataObject.
Shell inizializza il gestore tramite l'interfaccia IPersistFile. Usa questa interfaccia per richiedere l'identificatore di classe (CLSID) del gestore e lo fornisce con il nome del file. Per una discussione generale su come implementare i gestori di estensione shell, inclusa l'interfaccia IPersistFile, vedere Creating Shell Extension Handlers.
Dopo che il gestore dati è stato inizializzato, la Shell delega le chiamate dall'oggetto dati all'interfaccia IDataObject del gestore se viene utilizzato uno dei formati personalizzati.
Passaggio 2: Registrazione dei gestori dati
I gestori dati vengono registrati nella sottochiave ProgID del tipo di file, come illustrato di seguito: HKEY_CLASSES_ROOT\ProgID\shellex\DataHandler
Creare una sottochiave denominata per il gestore in DataHandler e impostare il valore predefinito della sottochiave del gestore sulla forma stringa del GUID CLSID del gestore. Per una discussione generale su come registrare i gestori di estensione shell, vedere Creazione di gestori estensione shell.
Nell'esempio seguente vengono illustrate le voci del Registro di sistema che abilitano un gestore dati per un tipo di file myp di esempio.
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
CLSID
{00000000-1111-2222-3333-444444444444}
InProcServer32
(Default) = C:\MyDir\MyCommand.dll
ThreadingModel = Apartment
MyProgram.1
(Default) = MyProgram Application
Shellex
DataHandler
(Default) = {00000000-1111-2222-3333-444444444444}
Argomenti correlati