Verbi e associazioni di file

Quando un utente fa clic con il pulsante destro del mouse su un oggetto Shell, ad esempio un file, la shell visualizza un menu di scelta rapida . Questo menu contiene un elenco di comandi che l'utente può selezionare per eseguire varie azioni sull'elemento. Questi comandi sono noti anche come voci di menu di scelta rapida o verbi. I menu di scelta rapida possono essere personalizzati.

Questo argomento è organizzato come segue:

Introduzione ai menu di scelta rapida per gli oggetti del file system

Poiché i menu di scelta rapida vengono spesso usati per la gestione dei file, shell fornisce un set di comandi predefiniti, ad esempio Taglia e Copia, che vengono visualizzati nel menu di scelta rapida per qualsiasi oggetto del file system, ad esempio un file o una cartella.

Nell'esempio seguente viene illustrato un menu di scelta rapida predefinito visualizzato facendo clic con il pulsante destro del mouse su MyFile.xyz-ms.

screenshot del menu di scelta rapida predefinito

Il motivo per cui viene visualizzato un menu di scelta rapida predefinito per MyFile.xyz-ms è dovuto al fatto che .xyz-ms non è un membro di un tipo di file registrato. Al contrario, .txt è un tipo di file registrato. Se si fa clic con il pulsante destro del mouse su un file di.txt , viene visualizzato un menu di scelta rapida con tre comandi aggiuntivi nella sezione superiore: Stampa, Modifica e Apri con.

screenshot del menu di scelta rapida per un file con un tipo di file registrato

Per estendere il menu di scelta rapida per un tipo di file, è necessario creare una voce del Registro di sistema per ogni comando. Un approccio più sofisticato consiste nell'implementare un gestore di menu di scelta rapida (verbo), che consente di estendere il menu di scelta rapida per un tipo di file in base al file. Per altre informazioni, vedere Creazione di gestori di menu di scelta rapida e Informazioni di riferimento sul menu di scelta rapida.

Aggiungere comandi a un menu di scelta rapida

Un gestore di menu di scelta rapida è un gestore di tipi di file che aggiunge comandi a un menu di scelta rapida esistente. I gestori di menu di scelta rapida sono associati a un tipo di file e vengono chiamati ogni volta che viene visualizzato un menu di scelta rapida per un membro della classe . Shell controlla il Registro di sistema per verificare se il tipo di file è associato a qualsiasi gestore di menu di scelta rapida. In caso affermativo, shell esegue una query sui gestori per altre voci di menu di scelta rapida.

Verbi del menu di scelta rapida

Ogni comando del menu di scelta rapida viene identificato nel Registro di sistema in base al relativo verbo. Questi verbi sono uguali a quelli usati da ShellExecuteEx durante l'avvio di applicazioni a livello di codice.

Un verbo è una stringa di testo semplice usata dalla shell per identificare il comando associato. Ogni verbo corrisponde alla stringa di comando usata per avviare il comando in una finestra della console o in un file batch (.bat).

Ad esempio, il verbo aperto avvia normalmente un programma per aprire un file. La stringa di comando è in genere simile alla seguente:

"My Program.exe" "%1"

Se un elemento della stringa di comando contiene o può contenere spazi, deve essere racchiuso tra virgolette. In caso contrario, se l'elemento contiene uno spazio, non verrà analizzato correttamente. Ad esempio, "My Program.exe" avvia correttamente l'applicazione. Se si usa My Program.exe senza virgolette, il sistema tenta di avviare My with Program.exe come primo argomento della riga di comando. È consigliabile usare sempre le virgolette con argomenti come "%1" espansi in stringhe dalla shell, perché non è possibile assicurarsi che la stringa non contenga uno spazio.

I verbi possono anche avere un nome visualizzato associato, che viene visualizzato nel menu di scelta rapida anziché nella stringa del verbo stesso. Ad esempio, la stringa di visualizzazione per openas è Open With. Come le normali stringhe di menu, incluso un carattere e commerciale nella stringa di visualizzazione consente la selezione della tastiera del comando.

Trasmettere elementi non file system e risultati OpenSearch.

In Windows 7 e versioni successive è disponibile il supporto della connessione di origini esterne al client Windows tramite il protocollo OpenSearch . In questo modo gli utenti possono eseguire ricerche in un archivio dati remoto e visualizzare i risultati da Esplora risorse. Lo standard OpenSearch v1.1 definisce formati di file semplici che possono essere usati per descrivere come un client deve eseguire una query sul servizio Web per l'archivio dati e come il servizio deve restituire i risultati di cui eseguire il rendering dal client.

Potrebbe essere necessario trasmettere elementi non di file system per evitare la necessità di scaricare elementi nel caso dei risultati di OpenSearch . La funzionalità di ricerca federata consente la ricerca di elementi da percorsi non di file system che supportano OpenSearch, ad esempio SharePoint e altri siti supportati da servizi Web. Quando si richiamano verbi su questi elementi, il sistema scarica una versione temporanea dell'elemento e lo passa all'implementazione del verbo. Gli implementatori di verbi sono invitati a evitare la necessità di scaricare il file registrando il set di schemi URL supportati dal verbo per trasmettere gli elementi. I verbi lo fanno usando la chiave del Registro di sistema SupportedProtocols .

Registrare un'applicazione per gestire tipi di file arbitrari

La definizione delle voci di menu di scelta rapida per un tipo di file specifico consente di specificare come l'applicazione associata apre un membro del tipo di file. Tuttavia, le applicazioni possono anche registrare una routine predefinita separata da utilizzare quando un utente tenta di usare l'applicazione per aprire un tipo di file non associato all'applicazione. La procedura predefinita viene registrata in modo analogo alla registrazione delle voci di menu di scelta rapida. Per informazioni più dettagliate sulla definizione delle voci di menu di scelta rapida, vedere Creazione di gestori di menu di scelta rapida.

La procedura predefinita svolge due scopi di base. Uno consiste nel specificare il modo in cui l'applicazione deve essere richiamata per aprire un tipo di file arbitrario. È possibile, ad esempio, usare un flag della riga di comando per indicare che è in corso l'apertura di un tipo di file sconosciuto. L'altro scopo è definire le varie caratteristiche di un tipo di file, ad esempio le voci di menu di scelta rapida e l'icona. Se un utente associa l'applicazione a un tipo di file aggiuntivo, tale classe avrà queste caratteristiche. Se il tipo di file aggiuntivo è stato precedentemente associato a un'altra applicazione, queste caratteristiche sostituiranno gli originali.

Per registrare la procedura predefinita, inserire le stesse chiavi del Registro di sistema create per il ProgID dell'applicazione nella sottochiave dell'applicazione di HKEY_CLASSES_ROOT\Applications. È anche possibile includere un valore FriendlyAppName per fornire al sistema un nome descrittivo per l'applicazione. Il nome descrittivo dell'applicazione può anche essere estratto dal file eseguibile, ma solo se il valore FriendlyAppName è assente.

La voce del Registro di sistema di esempio seguente illustra una procedura predefinita per MyProgram.exe che definisce un nome descrittivo e diverse voci di menu di scelta rapida. Le stringhe di comando includono il flag /a per notificare all'applicazione che sta aprendo un tipo di file arbitrario. Se si include una sottochiave DefaultIcon , è consigliabile usare un'icona generica.

HKEY_CLASSES_ROOT
   MyProgram.exe
      shell
         open
            command
               (Default) = C:\MyDir\MyProgram.exe /a "%1"
         print
            command
               (Default) = C:\MyDir\MyProgram.exe /a /p "%1"
         printto
            command
               (Default) = C:\MyDir\MyProgram.exe /a /p "%1" "%2"

Risorse aggiuntive

Procedure consigliate per i gestori di menu di scelta rapida e più verbi di selezione

Scelta di un verbo statico o dinamico per il menu di scelta rapida

Creazione di gestori di menu di scelta rapida

Personalizzazione di un menu di scelta rapida tramite verbi dinamici

Menu di scelta rapida e gestori di menu di scelta rapida

Informazioni di riferimento sul menu di scelta rapida