예제 #1
0
 /// <summary>
 /// Get Network Interface by MACAddress.
 /// </summary>
 /// <returns></returns>
 public static Base.NetworkInterface GetByMACNetworkInterface(string mac)
 {
     Base.NetworkInterface network = null;
     using (var networkConfigMng = new ManagementClass("Win32_NetworkAdapterConfiguration"))
     {
         using (var networkConfigs = networkConfigMng.GetInstances())
         {
             foreach (var managementObject in networkConfigs.Cast <ManagementObject>())//.Where(managementObject => (bool)managementObject["IPEnabled"]))
             {
                 try
                 {
                     string macTmp = managementObject.GetPropertyValue("MACAddress").ToString().Trim();
                     if (macTmp.Equals(mac.Trim()))
                     {
                         Base.NetworkInterface tmp = new Base.NetworkInterface();
                         tmp.Caption     = managementObject.GetPropertyValue("Caption").ToString();
                         tmp.ServiceName = managementObject.GetPropertyValue("ServiceName").ToString();
                         tmp.SettingID   = managementObject.GetPropertyValue("SettingID").ToString();
                         tmp.Description = managementObject.GetPropertyValue("Description").ToString();
                         //network.IPAddress = managementObject.GetPropertyValue("IPAddress").ToString();
                         tmp.MACAddress = macTmp;
                         network        = tmp;
                     }
                 }
                 catch {
                 }
             }
         }
     }
     return(network);
 }
예제 #2
0
        /// <summary>
        /// Get All Network Interfaces.
        /// </summary>
        /// <returns></returns>
        public static List <Base.NetworkInterface> GetAllNetworkInterfaces()
        {
            List <Base.NetworkInterface> networks = new List <Base.NetworkInterface>();

            using (var networkConfigMng = new ManagementClass("Win32_NetworkAdapterConfiguration"))
            {
                using (var networkConfigs = networkConfigMng.GetInstances())
                {
                    foreach (var managementObject in networkConfigs.Cast <ManagementObject>())//.Where(managementObject => (bool)managementObject["IPEnabled"]))
                    {
                        try
                        {
                            Base.NetworkInterface network = new Base.NetworkInterface();
                            network.Caption     = managementObject.GetPropertyValue("Caption").ToString();
                            network.ServiceName = managementObject.GetPropertyValue("ServiceName").ToString();
                            network.SettingID   = managementObject.GetPropertyValue("SettingID").ToString();
                            network.Description = managementObject.GetPropertyValue("Description").ToString();
                            //network.IPAddress = managementObject.GetPropertyValue("IPAddress").ToString();
                            network.MACAddress = managementObject.GetPropertyValue("MACAddress").ToString();
                            networks.Add(network);
                        }
                        catch { }
                    }
                }
            }
            return(networks);
        }