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); } } }
Development Class
Multiple different delimiters
using System; using System.Text.RegularExpressions; public class MainClass { public static void Main() { string t = "Once,Upon:A/TimeIn'America"; Regex q = new Regex(@" |,|:|/||'"); foreach (string ss in q.Split(t)) { 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); } }