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); } }
Author: coder
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); } }
Registry.LocalMachine
using System; using Microsoft.Win32; using System.Security.Permissions; [RegistryPermissionAttribute(SecurityAction.Demand)] class Class1 { static void Main(string[] args) { RegistryKey myRegKey = Registry.LocalMachine; myRegKey = myRegKey.OpenSubKey("SOFTWAREMicrosoftWindows NTCurrentVersion"); Object oValue = myRegKey.GetValue("RegisteredOwner"); Console.WriteLine("OS Registered Owner: {0}", oValue.ToString()); } }
new RegexCompilationInfo(@”^d{4}$”,RegexOptions.Compiled, “PinRegex”, “”, true)
using System; using System.Reflection; using System.Text.RegularExpressions; class MainClass { public static void Main() { RegexCompilationInfo[] regexInfo = new RegexCompilationInfo[2]; regexInfo[0] = new RegexCompilationInfo(@"^d{4}$",RegexOptions.Compiled, "PinRegex", "", true); regexInfo[1] = new RegexCompilationInfo(@"^d{4}-?d{4}-?d{4}-?d{4}$",RegexOptions.Compiled, "CreditCardRegex", "", true); AssemblyName assembly = new AssemblyName(); assembly.Name = "MyRegEx"; Regex.CompileToAssembly(regexInfo, assembly); } }
Regex.CompileToAssembly
using System; using System.Reflection; using System.Text.RegularExpressions; class MainClass { public static void Main() { RegexCompilationInfo[] regexInfo = new RegexCompilationInfo[2]; regexInfo[0] = new RegexCompilationInfo(@"^d{4}$", RegexOptions.Compiled, "PinRegex", "", true); regexInfo[1] = new RegexCompilationInfo(@"^d{4}-?d{4}-?d{4}-?d{4}$", RegexOptions.Compiled, "CreditCardRegex", "", true); AssemblyName assembly = new AssemblyName(); assembly.Name = "MyRegEx"; Regex.CompileToAssembly(regexInfo, assembly); } }
Uses an object in another application domain
/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /* Example18_3.cs uses an object in another application domain */ using System; using System.Runtime.Remoting; using System.Reflection; public class Example18_3 { public static void Main() { // create a new appdomain AppDomain d = AppDomain.CreateDomain("NewDomain"); // load an instance of the System.Rand object ObjectHandle hobj = d.CreateInstance("Example18_2", "SimpleObject"); // use a local variable to access the object SimpleObject so = (SimpleObject) hobj.Unwrap(); Console.WriteLine(so.ToUpper("make this uppercase")); } } //================================================= /* Example18_2.cs defines a simple object to create */ using System; [Serializable] public class SimpleObject { public String ToUpper(String inString) { return(inString.ToUpper()); } }