private bool LoadHive(string filename, bool onDemand) { var root = treeRoot[0]; var hive = new RegistryHive(new FileStream(filename, FileMode.Open)); var rootKey = hive.Root; if (rootKey != null) { var t_hive = new RegistryHiveTreeView(hive) { Name = Path.GetFileName(filename), FilePath = filename, ImageSource = folderBitmap }; root.RegistryHiveTreeViews.Add(t_hive); if (rootKey.SubKeys != null && rootKey.GetSubKeyNames().Length > 0) { t_hive.LoadDummyChild(); } return(true); } else { return(false); } }
private void LoadSubkeyRoot(RegistryHiveTreeView registryHiveTreeView) { if (registryHiveTreeView.IsDummy) { registryHiveTreeView.RemoveDummyChild(); } var regKeyTreeViews = GetRegistryKeyTreeViews(registryHiveTreeView.AttachedHive, "\\"); for (int i = 0; i < regKeyTreeViews.Length; i++) { regKeyTreeViews[i].Root = registryHiveTreeView; registryHiveTreeView.Children.Add(regKeyTreeViews[i]); } }