Jak odczytywać / zapisywać lokalizacje bibliotek systemu Windows 7?

Intro

W systemie Windows 7 masz specjalne foldery na dokumenty, zdjęcia i muzykę itp. O nazwie Biblioteki.

Jeśli ich nie znasz, w zasadzie każdy folder Biblioteki może zawierać Lokalizacje (ścieżki), które są w zasadzie skrótami dla każdej Biblioteki.

Kilka przykładów:

Documents (Library)

E: Dokumenty osobiste(Location)F: Kopie zapasowe Dokumenty(Location)

Music (Library)

E: Media Muzyka Albumy(Location)E: Media Muzyka Single(Location)

Pictures (Library)

E: Media Zdjęcia(Location)

Po kliknięciu dowolnego z tych folderów biblioteki w Eksploratorze Windows lub menu Start, Eksplorator Windows pokaże się z lokalizacjami zdefiniowanymi wewnątrz tej biblioteki.

Zadanie

Muszę być w stanie odczytać lokalizacje dla każdego typu biblioteki i móc odpisać (zaktualizować) bibliotekę własnymi lokalizacjami. Odkryłem, że biblioteki są przechowywane w folderze AppData użytkownika w następujący sposób:

C:\Users\SOMEUSER\AppData\Roaming\Microsoft\Windows\Libraries

Te biblioteki to ten typ pliku:Biblioteka (.library-ms) - jeśli klikniesz prawym przyciskiem myszy na jedną i wybierzesz właściwości, na karcie Biblioteka możesz zobaczyć lokalizacje Biblioteki powiązane z tą Biblioteką.

Nie widzę sposobu na ich wyodrębnienie i umieszczenie na przykład w TStringList do edycji w Delphi. Zastanawiałem się, czy te lokalizacje bibliotek zostały faktycznie zapisane w rejestrze systemu Windows, więc dzięki pewnym badaniom z Google znalazłem te ścieżki:

HKEY_CURRENT_USER Oprogramowanie Microsoft Windows CurrentVersion Eksplorator Foldery powłokiHKEY_CURRENT_USER Oprogramowanie Microsoft Windows CurrentVersion Eksplorator Foldery użytkownika

Ale znowu nie widzę rzeczywistej listy lokalizacji biblioteki.

Jak więc mogę odczytać listę lokalizacji w pliku biblioteki w Delphi, dodać je do listy lub listy TStringList, edytować wpisy, a następnie zapisać zmiany? Początkowo można było wyodrębnić ścieżki lokalizacji biblioteki.

Mam przeczucie, że będzie to jedno z tych pytań, które mają prostą odpowiedź, której nie mogę znaleźć!

questionAnswers(2)

yourAnswerToTheQuestion