Open a SubKey in Registry : Registry « Development Class « C# / C Sharp

Open a SubKey in Registry


using System;
using Microsoft.Win32;

class MainClass {
    public static void SearchSubKeys(RegistryKey root, String searchKey) {
        foreach (string keyname in root.GetSubKeyNames()) {
            try {
                using (RegistryKey key = root.OpenSubKey(keyname)) {
                    if (keyname == searchKey) PrintKeyValues(key);
                    SearchSubKeys(key, searchKey);
            } catch (System.Security.SecurityException) {

    public static void PrintKeyValues(RegistryKey key) {
        Console.WriteLine("Registry key found : {0} contains {1} values",
            key.Name, key.ValueCount);
        foreach (string valuename in key.GetValueNames()) {
            if (key.GetValue(valuename) is String) {
                Console.WriteLine(" Value : {0} = {1}",
                    valuename, key.GetValue(valuename));

    public static void Main(String[] args) {
        if (args.Length > 0) {
            using (RegistryKey root = Registry.CurrentUser) {
                SearchSubKeys(root, args[0]);


Related examples in the same category

2.Write a Text and DWord Value to the Registry
3.Enumerating Registry Keys
4.Retrieve the CPU Type and Speed from the Registry
5.Use GetValue and SetValue to get and save value to Registry
6.Get the Registry key found for CurrentUser
7. Accessing the Registry
8.Get Registry value Get Registry value
9.Registry File Association
10.Check Registry to see if it is installed
11.Get/Set User Registry
12.Copy Registry
13.Registry Utils
14.Retrieves any Registry value that uses the REGBINARY data type.
15.Writes a Registry value to the Registry.
16.Get IIS version