C# System API : Microsoft.Win32
1 SystemEvents.UserPreferenceChanged
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Win32; public class Form1 : Form { private System.Windows.Forms.Label label2; public Form1() { this.Font = SystemFonts.IconTitleFont; this.AutoScaleDimensions = new System.Drawing.SizeF(6.0F, 13.0F); InitializeComponent(); SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged); } private void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e) { if (e.Category == UserPreferenceCategory.Window) { this.Font = SystemFonts.IconTitleFont; } } private void InitializeComponent() { this.label2 = new System.Windows.Forms.Label(); this.SuspendLayout(); // // label2 // this.label2.Location = new System.Drawing.Point(12, 9); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(220, 55); this.label2.TabIndex = 2; this.label2.Text = "Try changing the Small Fonts/Large Fonts setting for th" + "e computer."; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(244, 138); this.Controls.Add(this.label2); this.Text = "Form1"; this.ResumeLayout(false); } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); }
}
2 Registry.SetValue
using System; using Microsoft.Win32; class MainClass { public static void Main(String[] args) { Registry.SetValue( @"HKEY_CURRENT_USER\Software\CompanyName\SoftwareName", "IntValueName", 101, RegistryValueKind.DWord); } }
3 Registry.CurrentUser
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using Microsoft.Win32; using System.Diagnostics; public class MainClass{ public static void Main(){ RegistryKey regKey = Registry.CurrentUser; regKey = regKey.CreateSubKey("Software\\YourCompanyName\\SubDomainName"); int currFontSize = (int)regKey.GetValue("CurrSize", 12); string c = (string)regKey.GetValue("CurrColor", "defaultName"); } }
4 Registry.GetValue
using System; using Microsoft.Win32; class MainClass { public static void Main(String[] args) { int Count = (Int32)Registry.GetValue( @"HKEY_CURRENT_USER\Software\CompanyName\SoftwareName", "Count", 0); // 0 is the default value } }
5 Registry.LocalMachine
using System; using Microsoft.Win32; class MainClass { public static void Main() { RegistryKey start = Registry.LocalMachine; RegistryKey cardServiceName, networkKey; string networkcardKey = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards"; string serviceKey = "SYSTEM\\CurrentControlSet\\Services\\"; string networkcardKeyName, deviceName, deviceServiceName, serviceName; RegistryKey serviceNames = start.OpenSubKey(networkcardKey); if (serviceNames == null) { Console.WriteLine("Bad registry key"); return; } string[] networkCards = serviceNames.GetSubKeyNames(); serviceNames.Close(); foreach(string keyName in networkCards) { networkcardKeyName = networkcardKey + "\\" + keyName; cardServiceName = start.OpenSubKey(networkcardKeyName); if (cardServiceName == null) { Console.WriteLine("Bad registry key: {0}", networkcardKeyName); return; } deviceServiceName = (string)cardServiceName.GetValue("ServiceName"); deviceName = (string)cardServiceName.GetValue("Description"); Console.WriteLine("\nNetwork card: {0}", deviceName); } start.Close(); } }
6 RegistryValueKind.String
using System; using Microsoft.Win32; class MainClass { public static void Main(String[] args) { Registry.SetValue( @"HKEY_CURRENT_USER\Software\CompanyName\SoftwareName", "DateTimeValue", DateTime.Now.ToString(), RegistryValueKind.String); } }
7 RegistryValueKind.DWord
using System; using Microsoft.Win32; class MainClass { public static void Main(String[] args) { Registry.SetValue( @"HKEY_CURRENT_USER\Software\CompanyName\SoftwareName", "IntValueName", 101, RegistryValueKind.DWord); } }
8 RegistryKey.SetValue
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using Microsoft.Win32; using System.Diagnostics; public class MainClass{ public static void Main(){ RegistryKey regKey = Registry.CurrentUser; regKey = regKey.CreateSubKey("Software\\YourSoftwareName\\SubDomain"); regKey.SetValue("CurrSize", 10); regKey.SetValue("CurrColor", "Blue"); } }
9 RegistryKey.Close()
using System; using Microsoft.Win32; class MainClass { public static void Main() { RegistryKey start = Registry.LocalMachine; string DNSservers = @"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"; RegistryKey DNSserverKey = start.OpenSubKey(DNSservers); if (DNSserverKey == null) { Console.WriteLine("Unable to open DNS servers key"); return; } string serverlist = (string)DNSserverKey.GetValue("NameServer"); Console.WriteLine("DNS Servers: {0}", serverlist); DNSserverKey.Close(); start.Close(); } }
10 RegistryKey.CreateSubKey(String value)
using System; using System.Resources; using Microsoft.Win32; using System.Diagnostics; class Test { static void Main(string[] args) { // Save user prefs to reg. RegistryKey regKey = Registry.CurrentUser; regKey = regKey.CreateSubKey("Software\\Intertech\\YourKeyRes"); regKey.SetValue("CurrSize", "29"); regKey.SetValue("CurrColor", "Red"); Console.WriteLine("Settings saved in registry"); } }
11RegistryKey.GetSubKeyNames()
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) Console.WriteLine("Registry key found : {0} contains {1} values", key.Name, key.ValueCount); SearchSubKeys(key, searchKey); } } catch (System.Security.SecurityException) { } } } public static void Main(String[] args) { using (RegistryKey root = Registry.CurrentUser) { string myKey="Java"; SearchSubKeys(root, myKey); } } }
12RegistryKey.GetValue
using System; using Microsoft.Win32; class MainClass { public static void Main() { RegistryKey start = Registry.LocalMachine; string DNSservers = @"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"; RegistryKey DNSserverKey = start.OpenSubKey(DNSservers); if (DNSserverKey == null) { Console.WriteLine("Unable to open DNS servers key"); return; } string serverlist = (string)DNSserverKey.GetValue("NameServer"); Console.WriteLine("DNS Servers: {0}", serverlist); DNSserverKey.Close(); start.Close(); } }
13RegistryKey.OpenSubKey
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) { foreach (string valuename in key.GetValueNames()) { if (key.GetValue(valuename) is String) { Console.WriteLine(" Value : {0} = {1}", valuename, key.GetValue(valuename)); } } } SearchSubKeys(key, searchKey); } } catch (System.Security.SecurityException) { } } } public static void Main(String[] args) { using (RegistryKey root = Registry.CurrentUser) { string myKey="Java"; SearchSubKeys(root, myKey); } } }