Single space split

   
 

using System;
using System.Text.RegularExpressions;


public class MainClass {
    public static void Main() {

        string u = "Once   Upon A Time In   America";
        Regex p = new Regex(" ");
        foreach (string ss in p.Split(u)) {
            if (ss.Length > 0)
                Console.WriteLine(ss);
        }
    }
}

    


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]);
            }
        }
    }
}

           
          


Get the Registry key found for CurrentUser

   


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]);
            }
        }
    }
}
           
          


Use GetValue and SetValue to get and save value to Registry

   




using System;
using Microsoft.Win32;
class MainClass {
    public static void Main(String[] args) {
        string lastUser;
        string lastRun;
        int runCount;

        lastUser = (string)Registry.GetValue(@"HKEY_CURRENT_USERSoftwareAC#","", "Nobody");

        if (lastUser == null) {
            lastUser = "Nobody";
            lastRun = "Never";
            runCount = 0;
        } else {
            lastRun = (string)Registry.GetValue(@"HKEY_CURRENT_USERSoftwareAC#","LastRun", "Never");            runCount = (Int32)Registry.GetValue(
                @"HKEY_CURRENT_USERSoftwareAC#","RunCount", 0);
        }
        Console.WriteLine("Last user name: " + lastUser);
        Console.WriteLine("Last run date/time: " + lastRun);
        Console.WriteLine("Previous executions: " + runCount);

        Registry.SetValue(@"HKEY_CURRENT_USERSoftwareAC#","", Environment.UserName, RegistryValueKind.String);
        Registry.SetValue(@"HKEY_CURRENT_USERSoftwareAC#","LastRun", DateTime.Now.ToString(), RegistryValueKind.String);
        Registry.SetValue(@"HKEY_CURRENT_USERSoftwareAC#","RunCount", ++runCount, RegistryValueKind.DWord);
    }
}

           
          


Enumerating Registry Keys

   



using System;
using Microsoft.Win32;

class Class1 {
    static void Main(string[] args) {
        RegistryKey myRegKey = Registry.LocalMachine;
        myRegKey = myRegKey.OpenSubKey("SOFTWAREMicrosoftWindowsCurrentVersionUninstall");
        String[] subkeyNames = myRegKey.GetSubKeyNames();
        foreach (String s in subkeyNames) {
            RegistryKey UninstallKey = Registry.LocalMachine;
            UninstallKey = UninstallKey.OpenSubKey("SOFTWAREMicrosoftWindowsCurrentVersionUninstall" + s);
            try {
                Object oValue = UninstallKey.GetValue("DisplayName");
                Console.WriteLine(oValue.ToString());
            } catch (NullReferenceException) {
            }
        }
    }
}

           
          


Write a Text and DWord Value to the Registry

   


using System;
using Microsoft.Win32;

class Class1 {
    static void Main(string[] args) {
        RegistryKey RegKeyWrite = Registry.CurrentUser;
        RegKeyWrite = RegKeyWrite.CreateSubKey("SoftwareCSHARPWriteRegistryValue");
        RegKeyWrite.SetValue("Success", "TRUE");
        RegKeyWrite.SetValue("AttemptNumber", 1);
        RegKeyWrite.Close();

        RegistryKey RegKeyRead = Registry.CurrentUser;
        RegKeyRead = RegKeyRead.OpenSubKey("SoftwareCSHARPWriteRegistryValue");
        Object regSuccessful = RegKeyRead.GetValue("Success");
        Object regAttemptNumber = RegKeyRead.GetValue("AttemptNumber");
        RegKeyRead.Close();

        Console.WriteLine(regSuccessful);
      
    }
}