CSharp examples for System:Windows
Search the Windows Registry
using System;//www .j a v a 2 s . c o m using Microsoft.Win32; class MainClass { public static void SearchSubKeys(RegistryKey root, String searchKey) { try { string[] subkeys = root.GetSubKeyNames(); foreach (string keyname in subkeys) { try { using (RegistryKey key = root.OpenSubKey(keyname)) { if (keyname == searchKey) PrintKeyValues(key); SearchSubKeys(key, searchKey); } } catch (System.Security.SecurityException) { } } } catch (UnauthorizedAccessException) { } } 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) { // Search recursively through the registry for any keys // with the specified name. SearchSubKeys(root, args[0]); } } } }