using Azylee.Core.DataUtils.StringUtils; using Azylee.Core.WindowsUtils.InfoUtils; using System; using System.Collections.Generic; using System.Management; namespace Azylee.Core.NetUtils { /// /// 网卡设备操作工具 /// public static class NetcardControlTool { /// /// 使用WMI获取网卡列表 /// /// [Obsolete] public static List GetList() { List list = new List(); try { string manage = "SELECT * From Win32_NetworkAdapter"; ManagementObjectSearcher searcher = new ManagementObjectSearcher(manage); ManagementObjectCollection collection = searcher.Get(); foreach (ManagementObject obj in collection) { //foreach (var item in obj.Properties) //{ // Console.WriteLine(":::" + item.Name + ":::" + item.Value); //} list.Add(obj["Name"].ToString()); } } catch { } return list; } /// /// 获取设备对象(XP无设备ID,请勿使用此方法) /// /// /// public static ManagementObject GetNetWorkByGuid(Guid id) { string netState = "SELECT * From Win32_NetworkAdapter"; try { ManagementObjectSearcher searcher = new ManagementObjectSearcher(netState); ManagementObjectCollection collection = searcher.Get(); foreach (ManagementObject manage in collection) { try { //string current_mac = NetCardInfoTool.ShortMac(manage["MacAddress"].ToString()); //mac = NetCardInfoTool.ShortMac(mac); //if (current_mac == mac) return manage; Guid guid = Guid.NewGuid(); if (manage["GUID"] != null && Guid.TryParse(manage["GUID"].ToString(), out guid)) { if (guid == id) return manage; } } catch (Exception ex) { } } } catch { } return null; } /// /// 获取设备对象 /// /// /// public static ManagementObject GetNetWorkByConnectId(string id) { string netState = "SELECT * From Win32_NetworkAdapter"; try { ManagementObjectSearcher searcher = new ManagementObjectSearcher(netState); ManagementObjectCollection collection = searcher.Get(); foreach (ManagementObject manage in collection) { try { if (manage["NetConnectionID"] != null && Str.Ok(id)) { if (manage["NetConnectionID"].ToString() == id) return manage; } } catch (Exception ex) { } } } catch { } return null; } /// /// 启用设备(不支持XP系统) /// /// /// public static bool Enable(ManagementObject network) { try { if (network != null) { network.InvokeMethod("Enable", null); return true; } } catch (Exception ex) { } return false; } /// /// 禁用设备(不支持XP系统) /// /// /// public static bool Disable(ManagementObject network) { try { if (network != null) { network.InvokeMethod("Disable", null); return true; } } catch (Exception ex) { } return false; } } }