private void treeRegistry_AfterExpand(object sender, TreeViewEventArgs e) { TreeNode CurrentTreeNode = e.Node; try { // Remove dummy node. CurrentTreeNode.Nodes["\\dummy"].Remove(); // Open key associated with current node. RegistryKey CurrentKey = AdvRegistry.OpenSubKey(CurrentTreeNode.FullPath); // Populate keys. foreach (String CurrentSubKeyName in CurrentKey.GetSubKeyNames()) { AddKey(CurrentTreeNode, CurrentSubKeyName); } // Populate values. foreach (String CurrentValueName in CurrentKey.GetValueNames()) { AddValue(CurrentTreeNode, CurrentValueName); } } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void TestOpenSubKey() { // Is OpenSubKey able to open existent path? var key = AdvRegistry.OpenSubKey(ExistentKeyPath); Assert.AreEqual(key.Name, "HKEY_CURRENT_USER\\existent"); // Is OpenSubKey able to open path which contains only root element? key = AdvRegistry.OpenSubKey("HKLM"); Assert.AreEqual(Registry.LocalMachine, key); // When opening nonexistent path OpenSubKye must return null key = AdvRegistry.OpenSubKey(NonexistentKeyPath); Assert.IsNull(key); }