Udostępnij za pośrednictwem


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żny

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.

Instrukcje

Krok 1. Dodawanie identyfikatora CLSID i nadaj rozszerzeniu nazwę

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żny

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

Krok 2. Ustawianie obrazu dla ikony

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żny

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

Krok 3. Dodawanie rozszerzenia do okienka nawigacji i uwidocznienie go

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

Krok 4. Ustawianie lokalizacji rozszerzenia w okienku nawigacji

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

Krok 5. Podaj bibliotekę DLL, która hostuje rozszerzenie.

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

Krok 6. Definiowanie obiektu wystąpienia

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

Krok 7. Podaj atrybuty systemu plików folderu docelowego

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

Krok 8. Ustawianie ścieżki dla katalogu głównego synchronizacji

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

Krok 9. Ustawianie odpowiednich flag powłoki

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

Krok 10. Ustaw odpowiednie flagi, aby kontrolować zachowanie powłoki

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

Krok 11. Rejestrowanie rozszerzenia w katalogu głównym przestrzeni nazw

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

Krok 12. Ukrywanie rozszerzenia na pulpicie

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