/// <summary> /// Fill the "My Computer" or "This Pc" collection /// </summary> /// <param name="folderItem"></param> /// <param name="parentCollection"></param> /// <param name="helper"></param> protected virtual void FillMyComputer(FolderItem folderItem, ObservableCollection <TreeItem> parentCollection, TreeViewHelper helper) { log.Trace(">>>"); _rootCollection = parentCollection; Logicaldisk.LogicaldiskCollection logicalDisks = null; // get wmi logical disk's if we have to if (helper.TreeView.DriveTypes != Enums.DriveTypes.All) { logicalDisks = Logicaldisk.GetInstances(null, GetWmiQueryStatement(helper.TreeView)); } foreach (FolderItem fi in ((Folder)folderItem.GetFolder).Items()) { log.Trace($"Folder: {fi.Name} | Type: {fi.Type} | IsFolder: {fi.IsFolder} | IsFileSystem: {fi.IsFileSystem}"); // only File System shell objects ? if (!_showAllShellObjects && !fi.IsFileSystem) { continue; } // check drive type if (fi.IsFileSystem && logicalDisks != null) { bool skipDrive = true; foreach (Logicaldisk lg in logicalDisks) { if (lg.Name + "\\" == fi.Path) { skipDrive = false; break; } } if (skipDrive) { continue; } } // create new node var node = CreateTreeNode(helper, fi.Name, fi.Path, false, fi); parentCollection.Add(node); } log.Trace("<<<"); }
protected virtual void FillMyComputer(FolderItem folderItem, TreeNodeCollection parentCollection, TreeViewFolderBrowserHelper helper) { _rootCollection = parentCollection; Logicaldisk.LogicaldiskCollection logicalDisks = null; // get wmi logical disk's if we have to if (helper.TreeView.DriveTypes != DriveTypes.All) { logicalDisks = Logicaldisk.GetInstances(null, GetWMIQueryStatement(helper.TreeView)); } // foreach (FolderItem fi in ((Folder)folderItem.GetFolder).Items()) { // only File System shell objects ? if (!_showAllShellObjects && !fi.IsFileSystem) { continue; } // check drive type if (fi.IsFileSystem && logicalDisks != null) { bool skipDrive = true; foreach (Logicaldisk lg in logicalDisks) { if (lg.Name + "\\" == fi.Path) { skipDrive = false; break; } } if (skipDrive) { continue; } } // create new node TreeNodePath node = CreateTreeNode(helper, fi.Name, fi.Path, IsFolderWithChilds(fi), false, true); node.Tag = fi; parentCollection.Add(node); } }