Come creare menu a catena con la voce del Registro di sistema ExtendedSubCommandsKey
In Windows 7 e versioni successive è possibile usare la sottochiave ExtendedSubCommandsKey per creare menu a catena estesi.
Lo screenshot seguente è un esempio di menu a cascata esteso.
Poiché HKEY_CLASSES_ROOT è una combinazione di HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE, è possibile registrare i sottoverbs nella sottochiave HKEY_CURRENT_USER\classi software\. Il vantaggio di farlo è che l'autorizzazione con privilegi elevati non è necessaria. Altre associazioni di file possono riutilizzare questo intero set di verbi specificando la stessa sottochiave ExtendedSubCommandsKey . Se non è necessario riutilizzare questo set di verbi, è possibile elencare i verbi sotto l'elemento padre. In questo caso, assicurarsi che il valore predefinito dell'elemento padre sia vuoto, come illustrato nell'esempio di voce del Registro di sistema in questa sezione.
Istruzioni
Passaggio 1:
Creare una sottochiave in HKEY_CLASSES_ROOT\Shell\ProgID\CascadeMenuKey e assegnare un nome a CascadeMenuKey, ad esempio CascadeTest. Aggiungere quindi una voce MUIVerb di tipo REG_SZ e assegnargli un nome, ad esempio Test Cascade Menu 2, come illustrato nell'esempio del Registro di sistema seguente.
HKEY_CLASSES_ROOT
txtfile
shell
CascadeTest
MUIVerb = Test Cascade Menu 2
Passaggio 2:
Nella sottochiave CascadeTest creata aggiungere una sottochiave ExtendedSubCommandsKey e quindi aggiungere le sottocomande del documento (di tipo REG_SZ); Per esempio:
HKEY_CLASSES_ROOT
txtfile
Shell
Test Cascade Menu 2
(Default)
ExtendedSubCommandsKey
Layout
Properties
Select all
Assicurarsi che il valore predefinito della sottochiave Test Cascade Menu 2 sia vuoto e visualizzato come (valore non impostato).
Passaggio 3:
Popolare i subverbs usando una delle implementazioni dei verbi statici seguenti. Si noti che la sottochiave CommandFlags rappresenta i valori EXPCMDFLAGS. Se si vuole aggiungere un separatore prima o dopo la voce di menu a catena, usare ECF_SEPARATORBEFORE (0x20) o ECF_SEPARATORAFTER (0x40). Per una descrizione di questi flag di Windows 7 e versioni successive, vedere IExplorerCommand::GetFlags. ECF_SEPARATORBEFORE funziona solo per le voci di menu di primo livello. MUIVerb è di tipo REG_SZ e CommandFlags è di tipo REG_DWORD.
HKEY_CLASSES_ROOT
txtile
Shell
Test Cascade Menu 2
(Default)
ExtendedSubCommandsKey
Shell
cmd1
MUIVerb = Notepad
command
(Default) = %SystemRoot%\system32\notepad.exe %1
cmd2
MUIVerb = Wordpad
CommandFlags = 0x20
command
(Default) = C:\Program Files\Windows NT\Accessories\wordpad.exe %1
Commenti
La schermata seguente è un'illustrazione degli esempi di voci di chiave del Registro di sistema precedenti.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per