Integrieren eines Cloudspeicheranbieters
Wenn Sie über einen Cloudspeicheranbieter verfügen, müssen Sie einige Schritte ausführen, um dem Benutzer eine konsistente und bevorzugte Benutzererfahrung zu bieten. Diese beiden Dinge registrieren sich als Synchronisierungsstammanbieter und integrieren Ihre Anwendung in die Stammebene des Navigationsbereichs.
Wichtig
Die Integration Ihres Cloudspeicheranbieters wird ab Windows 10 nur unterstützt.
Als Erstes müssen Sie sich als Synchronisierungsstammanbieter registrieren. Auf diese Weise informiert die Windows-Shell über Ihre Anwendung und dass Ihre Anwendung für die Synchronisierung von Dateien unter Ihrem Synchronisierungsstamm verantwortlich ist. Dadurch werden auch andere Anwendungen darüber informiert, dass Sie diese Dateien synchronisieren, damit sie entsprechend reagieren können. Andere Anwendungen können dann StorageFile.Provider- verwenden, um die DisplayName- und ID- Ihrer Anwendung abzurufen.
Um sich als Synchronisierungsstammanbieter zu registrieren, müssen Sie mehrere Registrierungseinträge erstellen. Bevor Sie die Liste der Schlüsselwertpaare angeben, finden Sie hier einige Platzhalter, die Sie durch Ihre eigenen Anwendungsdaten ersetzen sollten.
- [Speicheranbieter-ID]: Der Name Ihres Cloudspeicheranbieters. Dieser Name sollte unabhängig von der Version Ihrer Anwendung konsistent sein. Ein Beispiel hierfür ist OneDrive.
- [Windows SID]: Die eindeutige Windows-SID, die den Benutzer identifiziert. Wenn Ihre App mehrere Installationen für mehrere Benutzer auf einem einzelnen Computer unterstützt, ist dieses Stück erforderlich.
- [Konto-ID]: Der Dienstanbieterbezeichner für das aktuelle Konto dieses Benutzers. Einige Anbieter erfordern die Möglichkeit, mehrere Synchronisierungswurzeln für einen Benutzer bereitzustellen. Ein Beispiel hierfür ist ein Geschäftliches und ein persönliches Konto. Mit der Konto-ID können Sie mehrere Konten für einen Benutzer registrieren. Wenn Ihr Anbieter mehrere Synchronisierungswurzeln pro Benutzer unterstützt, ist dieses Element erforderlich.
Diese Platzhalter werden kombiniert, um die Synchronisierungsstamm-ID zu bilden. Sie müssen eine platzieren ! Zeichen zwischen den einzelnen Platzhaltern beim Erstellen der Synchronisierungsstamm-ID. Hier sind die Schlüssel-Wert-Paare, die erstellt werden müssen.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[Speicheranbieter-ID]![Windows SID]![Konto-ID]\DisplayNameResource: Verweist auf die Ressource, in der die Windows-Shell oder andere Anwendungen einen benutzerfreundlichen Namen für Ihren Synchronisierungsstamm abrufen können.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[Speicheranbieter-ID]![Windows SID]![Konto-ID]\IconResource: Verweist auf die Ressource, in der die Windows-Shell oder andere Anwendungen ein Symbol für Ihren Synchronisierungsstamm abrufen können.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[Speicheranbieter-ID]![Windows SID]![Konto-ID]\UserSyncRoots\[Windows SID]: Der Speicherort auf dem Datenträger, auf dem sich der Synchronisierungsstamm befindet.
Abgesehen von der Registrierung als Synchronisierungsstammanbieter möchten Sie auch, dass Benutzer einfachen Zugriff auf die von Ihnen bereitgestellten Daten haben. Der Datei-Explorer-Namespace wurde entwickelt, um eine Methode für diesen einfachen Zugriff bereitzustellen. Wenn Sie eine Namespaceerweiterung für Ihren Anbieter erstellen und in das Datei-Explorer-Fenster integrieren, können Benutzer genauso wie mit anderen Datei-Explorer-Elementen mit der Stammebene Ihrer Dienste interagieren. In diesem Thema wird erläutert, wie Sie den Datei-Explorer-Namespace erweitern, damit Ihr Anbieter auf der Stammebene im Navigationsbereich angezeigt wird.
Der Navigationsbereich des Datei-Explorer-Fensters ist der Teil des Fensters, der auf der linken Seite angezeigt wird. In der abbildung unten sehen Sie die Namespacestruktur für diesen Benutzer. Die Stammebene im Navigationsbereich enthält die Objekte für OneDrive, Dieser PCund Network. Wenn Sie diese Schritte ausführen, fügen Sie Die Erweiterung auf derselben Ebene hinzu.
Um Die Erweiterung zum Navigationsbereich hinzuzufügen, müssen Sie folgendes haben, bevor Sie die Registrierung bearbeiten:
Ein Dateisystemordner, der die Daten enthält, die dem Benutzer angezeigt werden sollen.
Name Ihres Clouddiensts, der im Navigationsbereich angezeigt wird. Dies kann auch der Name der Instanz sein, wenn Ihr Dienst mehrere Konten unterstützt.
Identifizierbares Symbol für Ihre Anwendung.
Eine CLSID für Ihre Anwendung. Eine Möglichkeit zum Generieren einer CLSID für Ihre Anwendung ist die Verwendung des Uuidgen.exe. Weitere Informationen zu CLSID finden Sie unter CLSID Key.
Mit den folgenden Schritten wird die Registrierung geändert, um die erforderlichen Informationen im Datei-Explorer-Namespace abzurufen. Die spezifischen Schritte führen drei Dinge aus.
Erstellen Sie Schlüssel in der Registrierung für Ihre CLSID, die Werte für den Namen und das Symbol für Ihre Erweiterung sowie andere Informationen enthält, die ihr Verhalten definieren.
Konfigurieren Sie Ihre Erweiterung so, dass sie an der richtigen Position und mit der richtigen Sichtbarkeit in den Navigationsbereich integriert wird.
Konfigurieren Sie Ihre Erweiterung so, dass das erwartete Verhalten für ein Element im Navigationsbereich angezeigt wird.
Diese Anweisungen verwenden speziell den Befehl reg.exe, Sie können jedoch jedes beliebige Registrierungsbearbeitungstool ihrer Wahl verwenden. Sie können diese Schritte sogar in ein Installationsprogramm integrieren, das die Registrierung programmgesteuert aktualisiert.
Anweisungen
Schritt 1: Hinzufügen Ihrer CLSID und Benennen der Erweiterung
Fügen Sie den Namen Ihrer Erweiterung zur Registrierung unter HKEY_CURRENT_USER hinzu. Außerdem fügen Sie den eindeutigen Bezeichner für diese Erweiterung hinzu. Es ist möglich, mehr als eine Erweiterung pro Benutzer hinzuzufügen, aber in diesem Fall benötigen Sie einen eindeutigen Namen und einen Bezeichner für jede Erweiterung. Dieser Name und dieser Bezeichner müssen während der restlichen Schritte konsistent sein. In diesem Beispiel ist der Name MyCloudStorageApp.
Wichtig
Der in diesen Schritten bereitgestellte Bezeichner (0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3) wird nur als Beispiel verwendet. Sie müssen dies in Ihre eindeutige CLSID ändern.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d "MyCloudStorageApp" /f
Schritt 2: Festlegen des Bilds für Ihr Symbol
Geben Sie den Pfad zu dem Symbol an, das im Navigationsbereich angezeigt werden soll. Im folgenden Beispiel bezieht sich 1043 auf den Ressourcenbezeichner für das Symbol in der angegebenen DLL.
Wichtig
Sie müssen den Bildpfad aktualisieren. Sie sollte auf einen generischen Pfad verweisen, in dem Ihre App ein Image installiert hat.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\DefaultIcon /ve /t REG_EXPAND_SZ /d %%SystemRoot%%\system32\imageres.dll,-1043 /f
Schritt 3: Hinzufügen der Erweiterung zum Navigationsbereich und Anzeigen der Erweiterung
Wenn Sie diesen Wert auf 0x1 festlegen, wird angegeben, dass die Erweiterung angeheftet werden soll. Dadurch wird sichergestellt, dass sie benutzern standardmäßig angezeigt wird. Die Standardkonfiguration für einen Benutzer besteht darin, dass nur angeheftete Elemente im Navigationsbereich angezeigt werden. Ein Benutzer kann diese Einstellung ändern, indem er im Navigationsbereich mit der rechten Maustaste klickt und Alle Ordner anzeigenauswählen. Wenn Sie Ihre Erweiterung nicht anheften möchten, können Sie diesen Wert auf 0x0 festlegen. Dadurch wird Ihre Erweiterung nicht entfernt, sondern lediglich verhindert, dass sie dem Benutzer standardmäßig angezeigt wird.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v System.IsPinnedToNameSpaceTree /t REG_DWORD /d 0x1 /f
Schritt 4: Festlegen der Position für Ihre Erweiterung im Navigationsbereich
Dies ist wichtig, um sicherzustellen, dass der Navigationsbereich für den Benutzer eine konsistente Benutzeroberfläche bietet.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v SortOrderIndex /t REG_DWORD /d 0x42 /f
Schritt 5: Geben Sie die DLL an, die Ihre Erweiterung hosten.
Verwenden Sie die shell32.dll, um Standardfensterordner zu emulieren. Ändern Sie dies nur, wenn Sie einen bestimmten Grund dafür haben und mit Namespaceerweiterungen vertraut sind.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\InProcServer32 /ve /t REG_EXPAND_SZ /d %%systemroot%%\system32\shell32.dll /f
Schritt 6: Definieren des Instanzobjekts
Geben Sie an, dass die Namespaceerweiterung wie andere Dateiordnerstrukturen im Datei-Explorer funktionieren soll. Weitere Informationen zu Shellinstanzobjekten finden Sie unter Erstellen von Shellerweiterungen mit Shellinstanzobjekten.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance /v CLSID /t REG_SZ /d {0E5AAE11-A475-4c5b-AB00-C66DE400274E} /f
Schritt 7: Bereitstellen der Dateisystemattribute des Zielordners
Dies ist erforderlich, um sicherzustellen, dass der Datei-Explorer für Benutzer eine konsistente und erwartete Erfahrung bietet. Mit diesem Befehl werden FILE_ATTRIBUTE_DIRECTORY und FILE_ATTRIBUTE_READONLYfestgelegt, die beide Dateiattributekonstantensind.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v Attributes /t REG_DWORD /d 0x11 /f
Schritt 8: Festlegen des Pfads für den Synchronisierungsstamm
Legen Sie den Pfad für den Synchronisierungsstamm fest.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v TargetFolderPath /t REG_EXPAND_SZ /d %%USERPROFILE%%\MyCloudStorageApp /f
Schritt 9: Festlegen der entsprechenden Shell-Flags
Legen Sie einige Flags fest, die erforderlich sind, um die Namespaceerweiterung an die Datei-Explorer-Struktur anzuheften.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v FolderValueFlags /t REG_DWORD /d 0x28 /f
Schritt 10: Festlegen der entsprechenden Flags zum Steuern des Shellverhaltens
Legen Sie die entsprechenden SFGAO- Flags fest. Die relevanten Kennzeichen sind SFGAO_CANCOPY, SFGAO_CANLINK, SFGAO_STORAGE, SFGAO_HASPROPSHEET, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER, SFGAO_FILESYSTEM und SFGAO_HASSUBFOLDER.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v Attributes /t REG_DWORD /d 0xF080004D /f
Schritt 11: Registrieren Der Erweiterung im Namespacestamm
Konfigurieren Sie die Namespaceerweiterung als untergeordnetes Element des Desktopordners.
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t REG_SZ /d MyCloudStorageApp /f
Schritt 12: Ausblenden Der Erweiterung vom Desktop
Es ist wichtig, dass Ihre Erweiterung nur im Navigationsbereich des Datei-Explorers angezeigt wird. Eine Namespaceerweiterung funktioniert nicht wie eine normale Verknüpfung. Daher sollten Sie diese Methode nicht verwenden, um eine Desktopverknüpfung zu erstellen.
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel /v {0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /t REG_DWORD /d 0x1 /f