Angeben des Speicherorts einer Namespaceerweiterung
Der Stamm einer Namespaceerweiterung wird normalerweise von Windows Explorer als Ordner sowohl in der Struktur- als auch in der Ordneransicht angezeigt. Damit Windows Explorer die Dateien und Unterordner Ihrer Erweiterung anzeigen kann, müssen Sie angeben, wo sich der Stammordner in der Shell-Namespacehierarchie befindet. Dieser Standort wird als Verbindungspunkt bezeichnet.
- Verwenden von virtuellen Ordnern als Verbindungspunkte
- Verwenden von Dateisystemordnern als Verbindungspunkte
- Öffnen einer Ansicht einer Namespaceerweiterung
Verwenden von virtuellen Ordnern als Verbindungspunkte
Die einfachste Möglichkeit zum Definieren des Verbindungspunkts einer Erweiterung besteht darin, den Stammordner zu einem Unterordner eines virtuellen Systemordners zu machen. Dieser Typ von Verbindungspunkt wird als virtueller Verbindungspunkt bezeichnet. Die Ordner "Desktop" und "Arbeitsplatz" sind die typischen Speicherorte für virtuelle Verbindungspunkte. Sie können jedoch auch einen virtuellen Verbindungspunkt auf einem Remotecomputer oder unter den Ordnern "Meine Netzwerkorte", "Internet Explorer" und "Systemsteuerung" definieren.
Um einen virtuellen Verbindungspunkt zu definieren, erstellen Sie einen Unterschlüssel des Schlüssels, der den entsprechenden virtuellen Ordner darstellt, und benennen Sie ihn mit der Zeichenfolgenform des Klassenbezeichners (CLSID) Ihrer Erweiterung. Die registrierte CLSID würde wie folgt angezeigt.
HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
Software
Microsoft
Windows
CurrentVersion
Explorer
Virtual Folder Name
NameSpace
{Extension CLSID}
(Default) = Junction Point Name
Der Name des virtuellen Ordners ist einer der Unterschlüssel in der folgenden Tabelle.
Standort | Name des virtuellen Ordners |
---|---|
Systemsteuerung | ControlPanel |
Desktop | Desktop |
Gesamtes Netzwerk | NetworkNeighborhood\Gesamtes Netzwerk |
Arbeitsplatz | Mycomputer |
Meine Netzwerkplätze | NetworkNeighborhood |
Remotecomputer | RemoteComputer |
Benutzerdateien | UsersFiles |
Remoteerweiterungen müssen mit IRemoteComputer initialisiert werden.
Verwenden von Dateisystemordnern als Verbindungspunkte
Es gibt zwei Möglichkeiten, Dateisystemordner als Verbindungspunkte zu definieren. Der einfachste Ansatz besteht darin, einen Ordner am entsprechenden Speicherort zu erstellen und einen Punkt an den Namen des Ordners anzufügen, gefolgt von der Zeichenfolgenform der CLSID Ihrer Erweiterung. Nur der Ordnername ist in Windows Explorer sichtbar. Im folgenden Beispiel wird ein Verbindungspunkt mit dem Anzeigenamen MyFolder erstellt.
MyFolder.{Extension CLSID}
Alternativ können Sie einen konventionell benannten Ordner wie folgt als Verbindungspunkt definieren:
- Der Ordner ist schreibgeschützt.
- Durch Aufrufen von PathMakeSystemFolder wird der Ordner zu einem Systemordner.
- Platzieren einer ausgeblendeten Desktop.ini Datei in dem Ordner, der die CLSID der Erweiterung enthält.
Desktop.ini ist eine Standardtextdatei, die jedem Ordner hinzugefügt werden kann, um bestimmte Aspekte des Ordnerverhaltens anzupassen. Eine allgemeine Erläuterung zur Verwendung dieser Datei finden Sie unter Anpassen von Ordnern mit Desktop.ini. Um einen Ordner als Verbindungspunkt zu definieren, [. Der Abschnitt ShellClassInfo] von Desktop.ini muss die CLSID der Erweiterung wie folgt enthalten:
[.ShellClassInfo]
CLSID={Extension CLSID}
Öffnen einer Ansicht einer Namespaceerweiterung
Wenn ein Benutzer einen Verbindungspunkt durchsucht, erstellt Windows Explorer automatisch eine Ansicht des Stammordners. Sie können auch eine Ansicht erstellen, indem Sie explizit Explorer.exe mit der CLSID der Erweiterung als Argument starten. Sie können für instance diesen Ansatz verwenden, um eine Ansicht einer Erweiterung über ein Kontextmenü oder eine Verknüpfung zu starten. Um beispielsweise eine Ansicht von MyExtension zu starten, die eine Strukturansicht enthält, können Sie die folgende Befehlszeichenfolge verwenden.
%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID}
Eine alternative Befehlszeichenfolge kann verwendet werden, um eine Ansicht eines Objekts innerhalb der Erweiterung zu starten. Dieses Feature wäre für instance für eine Erweiterung nützlich, die eine Ordneransicht verwendet, damit Benutzer den Inhalt einer von mehreren komprimierten Dateien anzeigen können.
%SystemRoot%\Explorer.exe /e,::{MyExtension CLSID},objectname
Der objectname-Parameter ist der Name des Objekts, das angezeigt werden soll. Windows Explorer konvertiert den Namen in die entsprechende PIDL und übergibt die PIDL an die IPersistFolder::Initialize-Methode des neuen Ordnerobjekts.
Hinweis
Der CLSID-Zeichenfolge muss ein Doppelpunktpaar (::) oder der Befehl schlägt fehl. Das flag slash-e (/e), das in den beiden zuvor gezeigten Beispielbefehlszeilen verwendet wird, weist Windows Explorer an, eine Strukturansicht anzuzeigen. Das Flag muss durch ein Komma von den beiden Doppelpunkten getrennt werden. Wenn Sie keine Strukturansicht möchten, lassen Sie das Flag /e und das Komma aus.