tôi đã làm một cái gì đó tương tự và posted a full solution with code using Windows API Code Pack ở câu hỏi này StackOverflow khác. Trong trường hợp của bạn, bạn sẽ tìm thấy những mã mà nói:
ICollection<IKnownFolder> allSpecialFolders = Microsoft.WindowsAPICodePack.Shell.KnownFolders.All;
Và sau đó lặp qua các thư mục này để tìm một trong đó phù hợp với nhu cầu của bạn:
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();
Và sau đó sử dụng GetLibraryInternalFolders()
chức năng để trả lại nhiều thư mục bên trong đó. Dù sao, hãy kiểm tra giải pháp toàn mã của tôi ở câu hỏi khác.
Bạn chỉ có thể thêm từng thư mục một cách thủ công nếu chỉ có hai thư mục tồn tại? –
Tôi có rất nhiều thư mục để thêm vào vị trí thư viện của tôi để thêm nó vào một thư viện không phải là một lựa chọn cho tôi .. :) –
Bạn đã cắt bỏ công việc của mình, nhưng đây là một ví dụ tuyệt vời về cách thực hiện. http://www.codeproject.com/Articles/143038/Parsing-Windows-7-Libraries-Without-NET-4-or-the-W –