Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Facendo clic con il pulsante destro del mouse su un oggetto viene normalmente visualizzata una menu di scelta rapida. Questo menu contiene un elenco di comandi che l'utente può selezionare per eseguire varie azioni sull'oggetto. In questa sezione viene fornita un'introduzione ai menu di scelta rapida per gli oggetti del file system.
- menu di scelta rapida per gli oggetti file system
- Verbi del Menu di Scelta Rapida
- l'estensione del menu di scelta rapida per un tipo di file
- Estensione del menu di scelta rapida per oggetti predefiniti Shell
- registrazione di un'applicazione per gestire tipi di file arbitrari
- Estendere il nuovo sottomenu
Altre informazioni sono disponibili qui:
Menu di scelta rapida per gli elementi del file system
Quando un utente fa clic con il pulsante destro del mouse su un oggetto, ad esempio un file, visualizzato in Esplora risorse o sul desktop, viene visualizzato un menu di scelta rapida con un elenco di comandi. L'utente può quindi eseguire un'azione sul file, ad esempio l'apertura o l'eliminazione, selezionando il comando appropriato.
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, visualizzati nel menu di scelta rapida per qualsiasi file. Si noti che anche se Open With è un comando predefinito, non viene visualizzato per alcuni tipi di file standard, ad esempio .wav. La seguente illustrazione della directory di esempio Documenti, usata anche come esempio in Personalizzazione delle icone, mostra un menu contestuale predefinito visualizzato facendo clic con il pulsante destro del mouse su MyDocs4.xyz.
Il motivo per cui MyDocs4.xyz mostra un menu di scelta rapida predefinito è che non è membro di un tipo di file registrato . D'altra parte, .txt è un tipo di file registrato. Se si fa clic con il pulsante destro del mouse su uno dei file .txt, verrà visualizzato un menu di scelta rapida con due comandi aggiuntivi nella relativa sezione superiore: Apri e Stampa.
Dopo aver registrato un tipo di file, è possibile estendere il relativo menu di scelta rapida con comandi aggiuntivi. Vengono visualizzati sopra i comandi predefiniti quando si fa clic con il pulsante destro del mouse su qualsiasi file di quel tipo. Anche se la maggior parte dei comandi aggiunti in questo modo sono comuni, ad esempio Stampa o Open, è possibile aggiungere qualsiasi comando che un utente potrebbe trovare utile.
Tutto ciò che è necessario per estendere il menu di scelta rapida per un tipo di file consiste nel creare una voce del Registro di sistema per ogni comando. Un approccio più sofisticato consiste nell'implementare un gestore di menu di scelta rapida , 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.
Verbi del menu di scelta rapida
Ogni comando del menu di scelta rapida viene identificato nel Registro di sistema dal relativo verb. Questi verbi sono uguali a quelli usati da ShellExecuteEx all'avvio di applicazioni a livello di codice. Per altre informazioni sull'uso di ShellExecuteEx, vedere la discussione in Avvio di applicazioni.
Un verb è una stringa di testo semplice utilizzata da Shell per identificare il comando associato. Ogni verb corrisponde alla stringa di comando utilizzata per avviare il comando in una finestra della console o in un file batch (.bat). Ad esempio, l'aperturaverb avvia normalmente un programma per aprire un file. La stringa di comando è in genere simile alla seguente:
"My Program.exe" "%1"
"%1" è il segnaposto standard per un parametro della riga di comando fornito con il nome file. Ad esempio, può specificare una determinata pagina da visualizzare in una visualizzazione a schede.
Nota
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" avvierà correttamente l'applicazione. Se si usa My Program.exe, il sistema tenterà di avviare "My" con "Program.exe" come primo argomento della riga di comando. È consigliabile usare sempre le virgolette con argomenti come "%1" espansi in stringhe da Shell, perché non è possibile essere certi che la stringa non conterrà uno spazio.
I verbi possono anche avere una stringa di visualizzazione associata, che viene visualizzata nel menu di scelta rapida anziché nella verb stringa stessa. Ad esempio, la stringa di visualizzazione per openas è Open With. Analogamente alle normali stringhe di menu, includere un simbolo & (&) nella stringa di visualizzazione consente la selezione del comando tramite tastiera.
Verbi canonici
In generale, le applicazioni sono responsabili della fornitura di stringhe di visualizzazione localizzate per i verbi definiti. Tuttavia, per fornire un grado di indipendenza del linguaggio, il sistema definisce un set standard di verbi comunemente usati denominati verbi canonici. Un canonico verb può essere usato con qualsiasi lingua e il sistema genera automaticamente una stringa di visualizzazione localizzata correttamente. Ad esempio, la stringa di visualizzazione dell'aperturaverb verrà impostata su Apri in un sistema inglese e su Öffnen in un sistema tedesco.
I verbi canonici includono:
| Valore | Descrizione |
|---|---|
| aperto | Apre il file o la cartella. |
| apri nuovo | Apre il file o la cartella in una nuova finestra. |
| Stampare | Stampa il file. |
| esplorare | Apre Esplora risorse con la cartella selezionata. |
| trovare | Apre la finestra di dialogo di Windows Search con la cartella impostata come percorso di ricerca predefinito. |
| openas | Apre la finestra di dialogo Apri con. |
| proprietà | Apre la finestra delle proprietà dell'oggetto. |
Il printto verb è anche canonico, ma non viene mai visualizzato. Consente all'utente di stampare un file trascinandolo in un oggetto stampante.
Verbi estesi
Quando l'utente fa clic con il pulsante destro del mouse su un oggetto, il menu di scelta rapida contiene tutti i verbi normali. Tuttavia, potrebbero essere presenti comandi che si desidera supportare ma che non sono stati visualizzati in ogni menu di scelta rapida. Ad esempio, è possibile avere comandi che non vengono comunemente usati o destinati a utenti esperti. Per questo motivo, è anche possibile definire uno o più verbi estesi . Questi verbi sono anche stringhe di caratteri e sono simili ai verbi normali. Si distinguono dai verbi normali nel modo in cui vengono registrati. Per avere accesso ai comandi associati ai verbi estesi, l'utente deve fare clic con il pulsante destro del mouse su un oggetto premendo MAIUSC. I verbi estesi verranno quindi visualizzati insieme ai verbi normali.
Estensione del menu di scelta rapida per un tipo di file
Il modo più semplice per estendere il menu di scelta rapida per un tipo di file è con il Registro di sistema. A tale scopo, aggiungere una Shell sottochiave sotto la chiave per ProgID dell'applicazione associata al tipo di file. Facoltativamente, è possibile definire un valore predefinito verb per il tipo di file impostando il valore predefinito della Shell sottochiave.
Il valore predefinito verb viene visualizzato per primo nel menu di scelta rapida. Lo scopo è fornire al Shell un verb che può usare quando ShellExecuteEx viene chiamato ma non viene specificato alcun verb. Non Shell seleziona necessariamente l'impostazione predefinita verb quando ShellExecuteEx viene usato in questo modo. Per Shellle versioni 5.0 e successive, disponibili nei sistemi Windows 2000 e versioni successive, Shell usa il primo disponibile verb nell'elenco seguente. Se non sono disponibili, l'operazione ha esito negativo.
- Oggetto aperto verb
- Impostazione predefinita verb
- Il primo verb nel registro di sistema
- L'Openwith verb
Per Shell le versioni precedenti alla versione 5.0, omettere il terzo elemento.
Sotto la Shell sottochiave creare una sottochiave per ogni verb elemento da aggiungere. Ognuna di queste sottochiavi avrà un valore REG_SZ impostato sulla verbstringa di visualizzazione. È possibile omettere la stringa di visualizzazione per i verbi canonici perché il sistema visualizzerà automaticamente una stringa localizzata correttamente. Se si omette la stringa di visualizzazione per verbi noncanonici, verrà visualizzata la verb stringa. Per ogni sottochiave verb, creare una sottochiave comando con il valore predefinito impostato sulla stringa di comando.
La figura seguente mostra un menu di scelta rapida per il tipo di file myp usato in Tipi di file e Personalizzazione delle icone. Ora dispone dei verbi apri, doit, stampa e printto nel menù di scelta rapida, con doit come impostazione predefinita verb. Il menu di scelta rapida è simile al seguente.
Le voci del Registro di sistema usate per estendere il menu di scelta rapida illustrato nella figura precedente sono:
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
MyProgram.1
(Default) = MyProgram Application
Shell
(Default) = doit
open
command
(Default) = C:\MyDir\MyProgram.exe "%1"
doit
(Default) = &Do It
command
(Default) = C:\MyDir\MyProgram.exe /d "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /p "%1" "%2" %3 %4
Anche se il comando Apri con è sopra il primo separatore, viene creato automaticamente dal sistema e non richiede una voce del Registro di sistema. Il sistema crea automaticamente nomi visualizzati per i verbi canonici aperti e stampati. Poiché doit non è un canonico verb, viene assegnato un nome visualizzato, "&Do It", che può essere selezionato premendo il tasto D. Il printto verb non viene visualizzato nel menu di scelta rapida, ma includendolo permette all'utente di stampare i file trascinandoli su un'icona della stampante. In questo esempio, %1 rappresenta il nome del file e %2 il nome della stampante.
I verbi possono essere soppressi tramite le impostazioni dei criteri aggiungendo un valore SuppressionPolicy alla chiave di verb. Impostare il valore di SuppressionPolicy sull'ID del criterio. Se il criterio è attivato, la verb voce del menu di scelta rapida associata viene eliminata. Per i possibili valori ID delle policy, vedere l'enumerazione RESTRICTIONS.
Estensione del menu di scelta rapida per oggetti predefiniti Shell
Molti oggetti predefiniti Shell dispongono di menu di scelta rapida che possono essere estesi. Registrare il comando nello stesso modo in cui si registrano i tipi di file tipici, ma usare il nome dell'oggetto predefinito come nome del tipo di file.
Un elenco di oggetti predefiniti è disponibile nella Shell sezione Oggetti predefiniti di Creazione Shell di gestori di estensione. Gli oggetti predefiniti Shell i cui menu di scelta rapida possono essere estesi aggiungendo verbi nel Registro di sistema sono contrassegnati nella tabella con la parola "Verb".
Registrazione di un'applicazione per gestire tipi di file arbitrari
Le sezioni precedenti di questo documento hanno illustrato come definire le voci di menu di scelta rapida per un particolare tipo di file. Tra le altre cose, la definizione del menu di scelta rapida consente di specificare come l'applicazione associata apre un membro del tipo di file. Tuttavia, come illustrato in tipi di file, le applicazioni possono anche registrare una procedura predefinita separata da usare quando un utente tenta di usare l'applicazione per aprire un tipo di file non associato all'applicazione. Questo argomento viene illustrato qui perché si registra la procedura predefinita nello stesso modo in cui si registrano voci di menu di scelta rapida.
La procedura predefinita serve due scopi di base. Uno consiste nel specificare come deve essere richiamata l'applicazione 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 tipo 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. Il frammento del Registro di sistema seguente mostra una procedura predefinita di esempio 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 un sottochiave DefaultIcon, è consigliabile usare un'icona generica.
HKEY_CLASSES_ROOT
Applications
MyProgram.exe
FriendlyAppName = Friendly Name
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" %3 %4
Estensione del nuovo sottomenu
Quando un utente apre il menu File in Esplora Risorse, il primo comando è Nuovo. Selezionando questo comando viene visualizzato un sottomenu. Per impostazione predefinita, contiene due comandi, Folder e Shortcut, che consentono agli utenti di creare sottocartelle e collegamenti. Questo sottomenu può essere esteso per includere i comandi di creazione di file per qualsiasi tipo di file.
Per aggiungere un comando di creazione file al sottomenu Nuovo, i file dell'applicazione devono avere un tipo di file associato. Includere una sottochiave ShellNew nella chiave per l'estensione del nome file. Quando si seleziona il comando Nuovo del menu File, Shell verrà aggiunto al sottomenu Nuovo. La stringa di visualizzazione del comando sarà la stringa descrittiva assegnata al ProgID del programma.
Assegnare uno o più valori di dati alla sottochiave ShellNew per specificare il metodo di creazione del file. I valori disponibili seguono.
| Valore | Descrizione |
|---|---|
| Comando | Esegue un'applicazione. Si tratta di un valore REG_SZ che specifica il percorso dell'applicazione da eseguire. Ad esempio, è possibile impostarlo per avviare una procedura guidata. |
| Dati | Crea un file contenente i dati specificati. Il valore dei dati è un REG_BINARY contenente i dati del file. I dati vengono ignorati se viene specificato NullFile o FileName. |
| Filename | Crea un file che rappresenta una copia di un file specificato. FileName è un valore REG_SZ, impostato sul percorso completo del file da copiare. |
| NullFile | Crea un file vuoto. NullFile non viene assegnato un valore. Se si specifica NullFile, i valori Data e FileName vengono ignorati. |
La figura seguente mostra il sottomenu Nuovo per il tipo di file myp usato come esempio in Tipi di file e Personalizzazione delle icone. Ora ha un comando, un'applicazione MyProgram. Quando un utente seleziona MyProgram Application dal sottomenu Nuovo , Shell crea un file denominato "New MyProgram Application.myp" e lo passa a MyProgram.exe.
La voce del Registro di sistema è ora la seguente:
HKEY_CLASSES_ROOT
.myp
(Default) = MyProgram.1
MyProgram.1
ShellNew
NullFile
MyProgram.1
(Default) = MyProgram Application
DefaultIcon
(Default) = C:\MyDir\MyProgram.exe,2
Shell
(Default) = doit
open
command
(Default) = C:\MyDir\MyProgram.exe "%1"
doit
(Default) = &Do It
command
(Default) = C:\MyDir\MyProgram.exe /d "%1"
print
command
(Default) = C:\MyDir\MyProgram.exe /p "%1"
printto
command
(Default) = C:\MyDir\MyProgram.exe /p "%1" "%2" %3 %4