Registrieren eines statischen Kontextmenüelements

Die administrativen MMC-Snap-Ins von Active Directory Domain Services und der Windows-Shell bieten einen Mechanismus zum Hinzufügen eines Elements zum Kontextmenü, das für Objekte in Active Directory Domain Services angezeigt wird. Das Kontextmenü kann jede Datei aufrufen, die mit der ShellExecute-API gestartet werden kann, z. B. eine Anwendungs- oder Webseiten-URL.

Registrieren bei Active Directory Domain Services

Die Kontextmenüerweiterungsregistrierung ist spezifisch für ein Gebietsschema. Wenn die Kontextmenüerweiterung für alle Gebietsschemas gilt, muss sie im Objekt der Objektklasse displaySpecifier in allen Gebietsschemauntercontainern im Container Display Specifiers registriert werden. Wenn die Kontextmenüerweiterung für ein bestimmtes Gebietsschema lokalisiert ist, muss sie im displaySpecifier-Objekt in diesem Gebietsschemauntercontainer registriert werden. Weitere Informationen zum Container und gebietsschemas display specifiers finden Sie unter Display Specifiers und DisplaySpecifiers Container.

Es gibt zwei Anzeigebezeichnerattribute, unter denen ein statisches Kontextmenüelement registriert werden kann: adminContextMenu und shellContextMenu.

Das adminContextMenu-Attribut identifiziert administrative Kontextmenüs, die in den Administrativen Snap-Ins von Active Directory Domain Services angezeigt werden sollen. Das Kontextmenü wird angezeigt, wenn der Benutzer das Kontextmenü für Objekte der entsprechenden Klasse in einem der administrativen MMC-Snap-Ins anzeigt.

Das shellContextMenu-Attribut identifiziert Kontextmenüs für Endbenutzer, die in der Windows-Shell angezeigt werden sollen. Das Kontextmenü wird angezeigt, wenn der Benutzer das Kontextmenü für Objekte der entsprechenden Klasse im Windows-Explorer anzeigt. Ab Windows Server 2003 zeigt die Windows-Shell keine Objekte mehr an, die aus Active Directory Domain Services stammen.

Alle diese Attribute sind mehrwertige Attribute.

Beim Registrieren eines statischen Kontextmenüelements erfordern die Werte für die Attribute adminContextMenu und shellContextMenu das folgende Format.

<order number>,<menu text>,<command>

Die "<Bestellnummer>" ist eine nummer ohne Vorzeichen, die die Position des Elements im Kontextmenü darstellt. Wenn ein Kontextmenü angezeigt wird, werden die Werte anhand eines Vergleichs der "<Bestellnummer>" der einzelnen Werte sortiert. Wenn mehrere Werte dieselbe "<Bestellnummer>" aufweisen, werden diese Kontextmenüerweiterungen in der Reihenfolge geladen, in der sie vom Active Directory-Server gelesen werden. Verwenden Sie nach Möglichkeit eine nicht vorhandene "<Bestellnummer", d. h. eine Nummer>, die von anderen Werten in der Eigenschaft nicht verwendet wurde. Es gibt keine vorgeschriebene Startposition, und in der Sequenz "<Bestellnummer>" sind Lücken zulässig.

Der "<Menütext>" ist die Zeichenfolge, die im Kontextmenü angezeigt wird. Der Menütext<> kann ein "&"-Zeichen enthalten, das dem Tastenkombinationszeichen für das Menüelement vorangestellt ist. Dadurch wird das vorangestellte Zeichen unterstrichen. Wenn der "<Menütext>" beispielsweise "&Datei" ist, wird der Menütext als "Datei" angezeigt, "F" wird unterstrichen, und "F" ist die Tastenkombination für das Menüelement.

Der "<Befehl>" ist das Programm oder die Datei, die vom Snap-In ausgeführt wird. Entweder muss der vollständige Pfad angegeben werden, oder die Datei muss in der Computerpfadumgebungsvariable vorhanden sein. Die Datei wird mithilfe der Funktion ShellExecute aufgerufen. Der "<Befehl>" kann keine zusätzlichen Parameter enthalten, z. B. Notepad.exe Myfile.txt. Da ShellExecute verwendet wird, kann jede Datei oder Adresse, die an ShellExecute übergeben werden kann, für "<Befehl>" verwendet werden. Wenn beispielsweise "<command>" "d:\file.txt" enthält, wird d:\file.txt mit der Anwendung geöffnet, die der .txt-Erweiterung zugeordnet ist. Wenn "<command>" "https://www.fabrikam.com"" enthält, wird der Standardwebbrowser geöffnet und zeigt die angegebene Webseite an. Pfade und Anwendungsnamen mit Leerzeichen sind zulässig. Wenn "<command>" eine Anwendung ist, werden der ADsPath und die Klasse des ausgewählten Objekts als Befehlszeilenargumente durch ein Leerzeichen getrennt übergeben.

In der Windows-Shell werden Kontextmenüelemente mit mehrfacher Auswahl unterstützt. In diesem Fall wird der "<Befehl>" für jedes ausgewählte Objekt aufgerufen. In Active Directory Domain Services administrativen Snap-Ins werden statische Kontextmenüelemente mit mehrfacher Auswahl nicht unterstützt.

Wichtig

Für die Windows-Shell werden Anzeigebezeichnerdaten bei der Benutzeranmeldung abgerufen und für die Sitzung des Benutzers zwischengespeichert. Bei den administrativen Snap-Ins werden die Anzeigebezeichnerdaten abgerufen, wenn das Snap-In geladen und für die Dauer des Prozesses zwischengespeichert wird. Für die Windows-Shell bedeutet dies, dass Änderungen an Anzeigebezeichnern wirksam werden, nachdem sich ein Benutzer abmeldet und wieder einschaltet. Bei administrativen Snap-Ins werden Änderungen wirksam, wenn die Snap-In- oder Konsolendatei neu geladen wird. Das heißt, wenn Sie eine neue instance der Konsolendatei oder eines neuen Mmc.exe instance starten und das Snap-In hinzufügen, werden die neuesten Anzeigebezeichnerdaten abgerufen.

 

Weitere Informationen und ein Codebeispiel finden Sie unter Beispielcode für die Installation eines statischen Kontextmenüelements.