Get default gateway from network key stored in Registry : Registry Network « Windows « C# / CSharp Tutorial






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

          serviceName = serviceKey + deviceServiceName + "\\Parameters\\Tcpip";
          networkKey = start.OpenSubKey(serviceName);
          if (networkKey == null)
          {
            Console.WriteLine("    No IP configuration set");
            return;
          }
          string[] defaultGateways = (string[])networkKey.GetValue("DefaultGateway");

          foreach(string defaultGateway in defaultGateways)
          {
              Console.WriteLine("    Gateway: {0}", defaultGateway);
          }
          networkKey.Close();
      }
      start.Close();
    }
}








29.3.Registry Network
29.3.1.Get Network Card Information from Registry
29.3.2.Get the network device name, device service name
29.3.3.Get IP address from network key stored in Registry
29.3.4.Get subnet mask from network key stored in Registry
29.3.5.Get default gateway from network key stored in Registry
29.3.6.Get DNS server from Registry
29.3.7.Find DNS Servers and get server list
29.3.8.Parse server list stored in Registry