Integrowanie dostawcy magazynu w chmurze
Jeśli masz dostawcę magazynu w chmurze, należy wykonać kilka kroków, aby zapewnić spójne i preferowane środowisko dla użytkownika. Te dwie elementy rejestrują się jako dostawca główny synchronizacji i integrują aplikację z poziomem głównym okienka nawigacji.
Ważne
Integracja dostawcy magazynu w chmurze jest obsługiwana tylko w systemie Windows 10.
Pierwszą rzeczą jest zarejestrowanie się jako dostawca główny synchronizacji. Dzięki temu powłoka systemu Windows będzie wiedzieć o aplikacji i że aplikacja będzie odpowiedzialna za synchronizowanie plików w katalogu głównym synchronizacji. Umożliwi to również innym aplikacjom synchronizowanie tych plików w celu odpowiedniego reagowania. Inne aplikacje mogą następnie użyć StorageFile.Provider, aby uzyskać DisplayName i identyfikator id aplikacji.
Aby zarejestrować się jako dostawca główny synchronizacji, należy utworzyć wiele wpisów rejestru. Przed udostępnieniem listy par klucz-wartość poniżej przedstawiono niektóre symbole zastępcze, które należy zastąpić własnymi danymi aplikacji.
- [identyfikator dostawcy magazynu]: nazwa dostawcy magazynu w chmurze. Ta nazwa powinna być spójna niezależnie od wersji aplikacji. Przykładem jest usługa OneDrive.
- [Identyfikator SID systemu Windows]: unikatowy identyfikator SID systemu Windows identyfikujący użytkownika. Jeśli aplikacja obsługuje wiele instalacji dla wielu użytkowników na jednej maszynie, ten element jest wymagany.
- [Identyfikator konta]: identyfikator dostawcy usług dla bieżącego konta tego użytkownika. Niektórzy dostawcy wymagają możliwości zapewnienia wielu katalogów głównych synchronizacji dla użytkownika. Jednym z przykładów jest konto służbowe i osobiste. Identyfikator konta umożliwia zarejestrowanie wielu kont dla jednego użytkownika. Jeśli dostawca obsługuje wiele katalogów głównych synchronizacji na użytkownika, ten element jest wymagany.
Te symbole zastępcze są łączone razem w celu utworzenia identyfikatora głównego synchronizacji. Musisz umieścić ! znak między poszczególnymi symbolami zastępczymi podczas tworzenia identyfikatora głównego synchronizacji. Poniżej przedstawiono pary klucz-wartość, które należy utworzyć.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[identyfikator dostawcy magazynu]![Windows SID]![Identyfikator konta]\DisplayNameResource : wskazuje zasób, w którym powłoka systemu Windows lub inne aplikacje mogą uzyskać przyjazną dla użytkownika nazwę katalogu głównego synchronizacji.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[identyfikator dostawcy magazynu]![Windows SID]![identyfikator konta]\IconResource : wskazuje zasób, w którym powłoka systemu Windows lub inne aplikacje mogą uzyskać ikonę katalogu głównego synchronizacji.
- HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager\[identyfikator dostawcy magazynu]![Windows SID]![identyfikator konta]\UserSyncRoots\[Identyfikator SID systemu Windows]: lokalizacja na dysku, na którym znajduje się katalog główny synchronizacji.
Oprócz rejestrowania się jako dostawca główny synchronizacji, chcesz również, aby użytkownicy mieli łatwy dostęp do danych, które podajesz. Przestrzeń nazw Eksploratora plików została zaprojektowana w celu zapewnienia takiego łatwego dostępu. Utworzenie rozszerzenia przestrzeni nazw dla dostawcy i włączenie go do okna Eksploratora plików umożliwi użytkownikom interakcję z poziomem głównym usług tak samo jak w przypadku innych elementów Eksploratora plików. W tym temacie wyjaśniono, jak rozszerzyć przestrzeń nazw Eksploratora plików, aby dostawca był wyświetlany na poziomie głównym w okienku nawigacji.
Okienko nawigacji okna Eksploratora plików jest częścią okna wyświetlanego po lewej stronie. Na poniższej ilustracji widać strukturę przestrzeni nazw dla tego użytkownika. Poziom główny w okienku nawigacji obejmuje obiekty OneDrive, ten komputeri Network. Wykonanie tych kroków spowoduje dodanie rozszerzenia do tego samego poziomu.
Aby dodać rozszerzenie do okienka nawigacji, przed edycją rejestru należy wykonać następujące czynności:
Folder systemu plików zawierający dane do wyświetlenia użytkownikowi.
Nazwa usługi w chmurze, która będzie wyświetlana w okienku nawigacji. Może to być również nazwa wystąpienia, jeśli usługa obsługuje wiele kont.
Ikona identyfikacji aplikacji.
Identyfikator CLSID aplikacji. Jednym ze sposobów wygenerowania identyfikatora CLSID dla aplikacji jest użycie Uuidgen.exe. Aby uzyskać więcej informacji na temat identyfikatora CLSID, zobacz CLSID Key.
Poniższe kroki modyfikują rejestr, aby uzyskać niezbędne informacje w przestrzeni nazw Eksploratora plików. Konkretne kroki wykonują trzy czynności.
Utwórz klucze w rejestrze dla identyfikatora CLSID zawierającego wartości nazwy i ikony rozszerzenia, a także inne informacje, które definiują jego zachowanie.
Skonfiguruj rozszerzenie do zintegrowania z okienkiem nawigacji w odpowiedniej lokalizacji i z odpowiednią widocznością.
Skonfiguruj rozszerzenie tak, aby miało oczekiwane zachowanie elementu w okienku nawigacji.
Te instrukcje w szczególności używają polecenia reg.exe, ale można użyć dowolnego wybranego narzędzia do edycji rejestru. Te kroki można nawet zintegrować z instalatorem, który programowo aktualizuje rejestr.
Dodaj nazwę rozszerzenia do rejestru w obszarze HKEY_CURRENT_USER. Dodasz również unikatowy identyfikator dla tego rozszerzenia. Istnieje możliwość dodania więcej niż jednego rozszerzenia na użytkownika, ale w takim przypadku będzie potrzebna unikatowa nazwa i identyfikator dla każdego rozszerzenia. Ta nazwa i identyfikator muszą być spójne w pozostałej części tych kroków. W tym przykładzie nazwa to MyCloudStorageApp.
Ważne
Podany identyfikator (0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3) w tych krokach jest właśnie używany jako przykład. Należy to zmienić na unikatowy identyfikator CLSID.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /t /t REG_SZ /d "MyCloudStorageApp" /f
Podaj ścieżkę do ikony, która powinna być wyświetlana w okienku nawigacji. W poniższym przykładzie 1043 odnosi się do identyfikatora zasobu dla ikony wskazanej biblioteki DLL.
Ważne
Musisz zaktualizować ścieżkę obrazu. Powinna ona wskazywać ścieżkę ogólną, w której aplikacja zainstalowała obraz.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\DefaultIcon /ve /t REG_EXPAND_SZ /d %%SystemRoot%%\system32\imageres.dll,-1043 /f
Ustawienie tej wartości na wartość 0x1 wskazuje, że rozszerzenie powinno zostać przypięte. Dzięki temu użytkownicy będą domyślnie wyświetlani. Domyślną konfiguracją użytkownika jest to, że w okienku nawigacji będą wyświetlane tylko przypięte elementy. Użytkownik może zmienić to ustawienie, klikając prawym przyciskiem myszy w okienku nawigacji i wybierając pozycję Pokaż wszystkie foldery. Jeśli nie chcesz przypiąć rozszerzenia, możesz ustawić tę wartość na 0x0. To nie spowoduje usunięcia rozszerzenia, ale jedynie uniemożliwi wyświetlanie go użytkownikowi domyślnie.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v System.IsPinnedToNameSpaceTree /t REG_DWORD /d 0x1 /f
Ma to kluczowe znaczenie, aby upewnić się, że okienko nawigacji zapewnia spójne środowisko dla użytkownika.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /v SortOrderIndex /t REG_DWORD /d 0x42 /f
Użyj shell32.dll, aby emulować domyślne foldery systemu Windows. Zmień to tylko wtedy, gdy masz konkretny powód, aby to zrobić i znasz rozszerzenia przestrzeni nazw.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\InProcServer32 /ve /t REG_EXPAND_SZ /d %%systemroot%%\system32\shell32.dll /f
Wskaż, że rozszerzenie przestrzeni nazw powinno działać podobnie jak inne struktury folderów plików w Eksploratorze plików. Aby uzyskać więcej informacji na temat obiektów wystąpień powłoki, zobacz Creating Shell Extensions with Shell Instance Objects.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance /v CLSID /t REG_SZ /d {0E5AAE11-A475-4c5b-AB00-C66DE400274E} /f
Jest to wymagane, aby upewnić się, że Eksplorator plików zapewnia spójne i oczekiwane środowisko dla użytkowników. To polecenie ustawia FILE_ATTRIBUTE_DIRECTORY i FILE_ATTRIBUTE_READONLY, z których obie są stałymi atrybutami file.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v Attributes /t REG_DWORD /d 0x11 /f
Ustaw ścieżkę katalogu głównego synchronizacji.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\Instance\InitPropertyBag /v TargetFolderPath /t REG_EXPAND_SZ /d %%USERPROFILE%%\MyCloudStorageApp /f
Ustaw niektóre flagi niezbędne do przypinania rozszerzenia przestrzeni nazw do drzewa Eksploratora plików.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v FolderValueFlags /t REG_DWORD /d 0x28 /f
Ustaw odpowiednie flagi SFGAO. Odpowiednie flagi to SFGAO_CANCOPY, SFGAO_CANLINK, SFGAO_STORAGE, SFGAO_HASPROPSHEET, SFGAO_STORAGEANCESTOR, SFGAO_FILESYSANCESTOR, SFGAO_FOLDER, SFGAO_FILESYSTEM i SFGAO_HASSUBFOLDER.
reg add HKCU\Software\Classes\CLSID\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3}\ShellFolder /v Attributes /t REG_DWORD /d 0xF080004D /f
Skonfiguruj rozszerzenie przestrzeni nazw tak, aby było elementem podrzędnym folderu pulpitu.
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /ve /REG_SZ t /t /d MyCloudStorageApp /f
Ważne jest, aby rozszerzenie było wyświetlane tylko w okienku nawigacji Eksploratora plików. Rozszerzenie przestrzeni nazw nie działa jak zwykły skrót. W związku z tym nie należy używać tej metody do tworzenia skrótu klasycznego.
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel /v {0672A6D1-A6E0-40FE-AB16-F25BADC6D9E3} /t REG_DWORD /d 0x1 /f