Praca ze znanymi folderami w aplikacjach
System Znany folder umożliwia interakcję z niektórymi folderami o wysokim profilu, które są domyślnie obecne w systemie Windows. Umożliwia również te same interakcje z folderami zainstalowanymi i zarejestrowanymi w systemie Znanych Folderów przez aplikacje. W tym temacie omówiono te możliwe interakcje, jak są one udostępniane przez API znanych folderów.
Ważny
Aby przekierować foldery Dokumenty, Obrazy lub Pulpit do OneDrive, użyj zamiast tego funkcji Przesunięcie Znanych Folderów OneDrive, a nie metody przekierowania opisanej w tym artykule. Aby uzyskać informacje, zobacz Przekierowanie i przenoszenie znanych folderów systemu Windows do usługi OneDrive.
Znane interfejsy folderów
Istnieją dwa znane interfejsy folderów: IKnownFolder i IKnownFolderManager.
IKnownFolderManager zapewnia wiele bardziej ogólnych funkcji w odniesieniu do tych folderów. Jej metody umożliwiają:
- Pobierz IKnownFolder na podstawie tego folderu KNOWNFOLDERID, jego nazwy kanonicznej, ścieżki wyrażonej jako ciąg lub ścieżki wyrażonej jako idList.
- Przekonwertuj plik CSIDL na odpowiednik KNOWNFOLDERID lub przekonwertuj KNOWNFOLDERID na starszy odpowiednik CSIDL.
- Zarejestruj lub wyrejestruj znany folder w systemie.
- Pobierz wszystkie wartości KNOWNFOLDERID zarejestrowane w tym systemie.
- Przekieruj znany folder do nowej lokalizacji.
IKnownFolder udostępnia metodę umożliwiającą przekierowanie folderu przez podanie nowej ścieżki. Inne metody pobierają informacje o określonym znanym folderze, w tym:
- Kategoria folderu: wirtualny, stały, wspólny lub dla użytkownika.
- Typ folderu, taki jak skompresowane, dokumenty, obrazy lub pliki użytkownika.
- KNOWNFOLDERID folderu.
- Pełna ścieżka folderu jako idList lub jako ciąg. Również jego względna ścieżka do folderu nadrzędnego.
- Nazwa kanoniczna folderu.
- Podpowiedź wyświetlana dla folderu.
- Ikona wyświetlana dla folderu.
- Opis folderu, który wyjaśnia jego przeznaczenie i użycie.
- Czy folder może być przekierowywany.
IKnownFolder udostępnia również metodę pobierania IShellItem na podstawie folderu. Pozwala to powiązać folder z procedurą obsługi, porównać dwa foldery i pobrać atrybuty folderu, nazwę wyświetlaną i folder nadrzędny.
Przekierowanie
Przekierowywanie folderów jest ważną funkcją znanego systemu folderów. Wszystkie znane foldery kategorii wspólneKF_CATEGORY_COMMON**** lub osobisteKF_CATEGORY_PERUSER**** można przekierować. Folder kategorii virtualKF_CATEGORY_VIRTUAL**** lub stałyKF_CATEGORY_FIXED****, nie można jednak przekierować.
Foldery mogą być przekierowywane do innej lokalizacji na tym samym komputerze lub do lokalizacji w sieci. W przypadku przekierowania sieciowego folder można buforować lokalnie za pośrednictwem buforowania po stronie klienta w celu zapewnienia dostępu w trybie offline. Jednak nawet jeśli istnieje lokalna pamięć podręczna, sam przekierowany folder musi być dostępny za pośrednictwem sieci.
Przekierowywanie folderów nie jest nowe dla systemu Windows Vista. Na przykład w systemie Windows XP niektóre foldery zidentyfikowane za pośrednictwem systemu CSIDL mogą być przekierowywane za pośrednictwem wywołania SHSetFolderPath lub przez zmodyfikowanie wpisu CSIDL w rejestrze. W systemie Windows Vista i nowszych przekierowanie powinno odbywać się za pośrednictwem IKnownFolder::SetPath lub SHSetKnownFolderPath.
Aby określić, czy można przekierować folder, wywołaj metodę IKnownFolder::GetRedirectionCapabilities. Jeśli nie można przekierować folderu, to wywołanie może dać wyjaśnienie.
Jeśli folder jest przekierowywany do lokalizacji sieciowej, metody IKnownFolder nadal mogą zostać pomyślnie wywołane.
Tematy pokrewne