/// <summary> /// Writes the data into registry. /// </summary> /// <param name="card">The card.</param> public static void WriteDataIntoRegistry(WindowsNetworkCard card) { RegistryKey regKey = null; string sKey = @"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" + card.Id; try { regKey = Registry.LocalMachine.OpenSubKey(sKey); RegistryUtility.WriteIntValue(RegistryKeyType.LocalMachine, sKey, "EnableDhcp", card.Dhcp ? 1 : 0); if (card.Dhcp) { String[] temp = { "0.0.0.0" }; RegistryUtility.WriteMultiStringValue(RegistryKeyType.LocalMachine, sKey, "IPAddress", temp); RegistryUtility.WriteMultiStringValue(RegistryKeyType.LocalMachine, sKey, "SubnetMask", temp); temp[0] = ""; RegistryUtility.WriteMultiStringValue(RegistryKeyType.LocalMachine, sKey, "DefaultGateway", temp); } else { String[] temp = { "0.0.0.0" }; temp[0] = card.IpAddress; RegistryUtility.WriteMultiStringValue(RegistryKeyType.LocalMachine, sKey, "IPAddress", temp); temp[0] = card.SubnetMask; RegistryUtility.WriteMultiStringValue(RegistryKeyType.LocalMachine, sKey, "SubnetMask", temp); temp[0] = card.GatewayAddress; RegistryUtility.WriteMultiStringValue(RegistryKeyType.LocalMachine, sKey, "DefaultGateway", temp); } string dns = ""; if (!card.DynamicDNS) { if (card.Dns.Length >= 1) { dns = card.Dns; } if (card.Dns2.Length >= 1) { dns += "," + card.Dns2; } } RegistryUtility.WriteStringValue(RegistryKeyType.LocalMachine, sKey, "NameServer", dns); } finally { if (regKey != null) { regKey.Close(); } } }