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.
Czy możesz dodać katalog ręcznie, jeśli istnieją tylko dwa foldery? –
Mam wiele katalogów do dodania do mojej biblioteki, więc dodawanie ich pojedynczo nie jest dla mnie opcją .. :) –
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- –