Yea I talked to one of my C# friends over the weekend, and the answer we came up with that worked was:

FolderKey = oFolders.GetEnumerator
FolderKey.MoveNext
FolderKey.Current.Name.ToString

Instead of

FolderKey = oFolders.GetEnumerator
FolderKey.MoveNext
oFolders.Item(FolderKey.Current).Name.ToString


That seems weird to me, becase this line works:

oFolders = oDrives(oKey.Current).RootFolder.SubFolders

From what I've learned either this should work:

oFolders = oDrives(oKey.Current).RootFolder.SubFolders
oFolders.Item(FolderKey.Current).Name.ToString

Or I should have to do use:

FolderKey.Current.Name.ToString
oFolders = oKey.Current.RootFolder.SubFolders

it just doesn't seem right that oFolders = oDrives(oKey.Current).RootFolder.SubFolders works while the other doesn't could this be a bug in VB.NET ?

cType, I take it that is for casting? my C# friend kept asking me if I knew how to cast..