2013-04-12 20 views
10

Jak mogę dodać wszystkie lokalizacje bibliotek do Mojej muzyki?Wszystkie katalogi w bibliotece Eksploratora

W tym przykładzie dodałem te katalogi do biblioteki:

E:\My Music 
E:\Mp3 

Próbowałem:

Environment.GetFolderPath(Environment.SpecialFolder.MyMusic); 

ale zwraca:

C:\Users\MyUser\Music 

+0

Czy możesz dodać katalog ręcznie, jeśli istnieją tylko dwa foldery? –

+1

Mam wiele katalogów do dodania do mojej biblioteki, więc dodawanie ich pojedynczo nie jest dla mnie opcją .. :) –

+2

Twoja praca została dla ciebie wycięta, ale tutaj jest świetny przykład, jak to zrobić. http://www.codeproject.com/Articles/143038/Parsing-Windows-7-Library-Without-NET-4-lub-W- –

Odpowiedz

1

Wszystkie biblioteki dodane do Media Player powinny znaleźć się w katalogu AppData.

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\Libraries\Music.library-ms" 

Może to pomoże.

0

Zrobiłem coś podobnego i posted a full solution with code using Windows API Code Pack w tej drugiej kwestii StackOverflow. W twoim przypadku, można znaleźć kod, który mówi:

 ICollection<IKnownFolder> allSpecialFolders = Microsoft.WindowsAPICodePack.Shell.KnownFolders.All; 

A następnie iteracyjne nad tych folderów, aby znaleźć taki, który pasuje do Twoich potrzeb:

string fpath = ""; 
    // Iterate over each folder and find the one we want 
    foreach (var folder in allSpecialFolders) 
    { 
     if (folder.ParsingName == foldername) 
     { 
      // We now have access to the xml path 
      fpath = folder.Path; 
     } 
    } 

    if (fpath == "") 
     return null; 

    var intFolders = GetLibraryInternalFolders(fpath); 

    return intFolders.Folders.ToList(); 

a następnie użyj funkcji GetLibraryInternalFolders() do zwrotu wiele folderów w tym. W każdym razie, sprawdź moje rozwiązanie pełnego kodu na drugim pytaniu.

Powiązane problemy