I did something similar and posted a full solution with code using Windows API Code Pack at this other StackOverflow question. In your case, you would find the code that says:
ICollection<IKnownFolder> allSpecialFolders = Microsoft.WindowsAPICodePack.Shell.KnownFolders.All;
And then iterate over these folders to find the one that matches your need:
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();
And then use the GetLibraryInternalFolders()
function to return the multiple folders inside that. Anyway, check out my full-code solution at the other question.