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