Erstellen kaskadierender Menüs mit dem Registrierungseintrag ExtendedSubCommandsKey
In Windows 7 und höher können Sie den Unterschlüssel ExtendedSubCommandsKey verwenden, um erweiterte kaskadierende Menüs zu erstellen.
Der folgende Screenshot ist ein Beispiel für ein erweitertes kaskadierendes Menü.
Da HKEY_CLASSES_ROOT eine Kombination aus HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE ist, können Sie die Subverbs unter dem Unterschlüssel HKEY_CURRENT_USER\Softwareklassen\ registrieren. Der Vorteil ist, dass keine erhöhte Berechtigung erforderlich ist. Andere Dateizuordnungen können diesen gesamten Verbensatz wiederverwenden, indem sie denselben ExtendedSubCommandsKey-Unterschlüssel angeben. Wenn Sie diesen Verbensatz nicht wiederverwenden müssen, können Sie die Verben unter dem übergeordneten Element auflisten. Stellen Sie in diesem Fall sicher, dass der Standardwert des übergeordneten Elements leer ist, wie im Registrierungseintragsbeispiel in diesem Abschnitt veranschaulicht.
Anweisungen
Schritt 1:
Erstellen Sie einen Unterschlüssel unter HKEY_CLASSES_ROOT\ProgID-Shell\\CascadeMenuKey, und geben Sie dem CascadeMenuKey einen Namen, z. B. CascadeTest. Fügen Sie dann einen MUIVerb-Eintrag REG_SZ Typs hinzu, und geben Sie ihm einen Namen wie Test Cascade Menu 2, wie im folgenden Registrierungsbeispiel veranschaulicht.
HKEY_CLASSES_ROOT
txtfile
shell
CascadeTest
MUIVerb = Test Cascade Menu 2
Schritt 2:
Fügen Sie unter dem von Ihnen erstellten CascadeTest-Unterschlüssel einen ExtendedSubCommandsKey-Unterschlüssel hinzu, und fügen Sie dann die Dokumentunterbefehle (vom Typ REG_SZ) hinzu. Zum Beispiel:
HKEY_CLASSES_ROOT
txtfile
Shell
Test Cascade Menu 2
(Default)
ExtendedSubCommandsKey
Layout
Properties
Select all
Stellen Sie sicher, dass der Standardwert des Unterschlüssels "Test Cascade Menu 2 " leer ist und als (Wert nicht festgelegt) angezeigt wird.
Schritt 3:
Füllen Sie die Subverbs mit einer der folgenden statischen Verbimplementierungen auf. Beachten Sie, dass der CommandFlags-Unterschlüssel EXPCMDFLAGS-Werte darstellt. Wenn Sie vor oder nach dem Kaskadenmenüelement ein Trennzeichen hinzufügen möchten, verwenden Sie ECF_SEPARATORBEFORE (0x20) oder ECF_SEPARATORAFTER (0x40). Eine Beschreibung dieser Windows 7- und höher-Flags finden Sie unter IExplorerCommand::GetFlags. ECF_SEPARATORBEFORE funktioniert nur für die Menüelemente der obersten Ebene. MUIVerb ist vom Typ REG_SZ und CommandFlags vom Typ 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
Bemerkungen
Der folgende Screenshot zeigt die vorherigen Beispiele für Registrierungsschlüsseleingaben.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für