As I want to recurse the complete structure of any folder I am using Shell32, which can connect to lettered drives c:\;d:\ etc and connected devices that do not have letters such as an Android tablet.
My problem is that I cannot extract the Folder from FolderItem to recurse.
Thanks.
Using Shell32; // reference browse to c:\Windows\System32\shell32.dll
class x
{
public int Hwnd { get; private set; }
public void ListAllFolderObjects()
{
Shell32.Shell shell = new Shell32.Shell();
Folder folder = shell.BrowseForFolder((int)Hwnd, "Choose Folder", 0, 0);
if (folder != null)
GetFolderObjects(folder);
}
private void GetFolderObjects(Folder folder)
{
foreach (FolderItem currentItem in folder.Items())
{
// a
string sType = currentItem.Type;
string sName = currentItem.Name;
if (sType == "folder")
{
// problem here - cannot get a folder from currentItem
// how do I cast FolderItem to Folder???????
GetFolderObjects(currentItem); // recurse
}
}
}
// from main
ListAllFolderObjects();