/// <summary> /// 获取所有适配器的状态、属性 /// </summary> /// <returns>每个适配器的泛型</returns> public static List <TSAdapter> GetAdapters() { List <TSAdapter> back = new List <TSAdapter>(); NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter"); ManagementObjectCollection wmiadps = searcher.Get(); foreach (NetworkInterface adapter in adapters) { TSAdapter adp = new TSAdapter(); adp.Name = adapter.Name; adp.Description = adapter.Description; adp.Status = adapter.OperationalStatus; adp.Type = adapter.NetworkInterfaceType; IPInterfaceProperties adapterProperties = adapter.GetIPProperties(); //网关 GatewayIPAddressInformationCollection addresses = adapterProperties.GatewayAddresses; if (addresses.Count > 0) { adp.Gateway = addresses[0].Address.ToString(); } //DNS IPAddressCollection dnsServers = adapterProperties.DnsAddresses; if (dnsServers.Count > 0) { foreach (IPAddress dns in dnsServers) { adp.DNS.Add(dns.ToString()); } } //WMI中的数据 foreach (ManagementObject mo in wmiadps) { if ((string)mo.GetPropertyValue("NetConnectionID") == adp.Name) { //接口(XP没有该属性!) try { adp.Interface = (UInt32)mo.GetPropertyValue("InterfaceIndex"); } catch { adp.Interface = null; } //服务名称 adp.ServiceName = (string)mo.GetPropertyValue("ServiceName"); } } back.Add(adp); } return(back); }
private void button3_Click(object sender, EventArgs e) { List <TSAdapter> Adps = TSAdapter.GetAdapters(); foreach (TSAdapter adp in Adps) { if (adp.Name == "WLAN 2") { try { adp.DNS = new string[] { "8.8.8.8" }; textBox1.Text = "OK"; } catch (TSAdapterSetException ee) { MessageBox.Show("设置时发生错误:" + ee.Source, "TSLib"); } break; } } }
private void button2_Click(object sender, EventArgs e) { textBox1.Text = TSAdapter.GetAdaptersReport(); }