Get Network Card Information from 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");
          Console.WriteLine("\nNetwork card: {0}", deviceName);
      }
    
      start.Close();
    }
}
Network card: Broadcom 802.11b/g WLAN

Network card: Realtek RTL8139/810x Family Fast Ethernet NIC










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