首页 > 代码库 > 在Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号

在Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号

 

需引入命名空间:

using System.Net;using System.Management;

 

  1 /// <summary>    2 /// 获取本地IP    3 /// </summary>    4 /// <returns></returns>    5 public static string Get_UserIP()    6 {    7     string ip = "";    8     string strHostName = Dns.GetHostName(); //得到本机的主机名    9     IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP   10     if (ipEntry.AddressList.Length > 0)   11     {   12         ip = ipEntry.AddressList[0].ToString();   13     }   14     return ip;   15     //string userip = "";   16     //string name = Dns.GetHostName();   17     //IPAddress[] ips = Dns.GetHostAddresses(name);   18     //foreach (IPAddress ip in ips)   19     //    userip += ip.ToString() + "|";//所有IP   20     //return userip;   21 }   22 /// <summary>   23 /// 获取主机域名   24 /// </summary>   25 /// <returns></returns>   26 public static string Get_HostName()   27 {   28     return Dns.GetHostName();   29 }   30 /// <summary>   31 /// 获取CPU编号   32 /// </summary>   33 /// <returns>返回一个字符串类型</returns>   34 public static string Get_CPUID()   35 {   36     try   37     {   38         //需要在解决方案中引用System.Management.DLL文件   39         ManagementClass mc = new ManagementClass("Win32_Processor");   40         ManagementObjectCollection moc = mc.GetInstances();   41         string strCpuID = null;   42         foreach (ManagementObject mo in moc)   43         {   44             strCpuID = mo.Properties["ProcessorId"].Value.ToString();   45             break;   46         }   47         return strCpuID;   48     }   49     catch   50     {   51         return "";   52     }   53 }   54 /// <summary>   55 /// 获取第一分区硬盘编号   56 /// </summary>   57 /// <returns>返回一个字符串类型</returns>   58 public static string GetHardDiskID()   59 {   60     try   61     {   62         ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");   63         string strHardDiskID = null;   64         foreach (ManagementObject mo in searcher.Get())   65         {   66             strHardDiskID = mo["SerialNumber"].ToString().Trim();   67             break;   68         }   69         return strHardDiskID;   70     }   71     catch   72     {   73         return "";   74     }   75 }   76 /// <summary>   77 /// 获取网卡的MAC地址   78 /// </summary>   79 /// <returns>返回一个string</returns>   80 public static string GetNetCardMAC()   81 {   82     try   83     {   84         string stringMAC = "";   85         ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");   86         ManagementObjectCollection MOC = MC.GetInstances();   87         foreach (ManagementObject MO in MOC)   88         {   89             if ((bool)MO["IPEnabled"] == true)   90             {   91                 stringMAC += MO["MACAddress"].ToString();   92             }   93         }   94         return stringMAC;   95     }   96     catch   97     {   98         return "";   99     }  100 }  101 /// <summary>  102 /// 获取当前网卡IP地址  103 /// </summary>  104 /// <returns></returns>  105 public static string GetNetCardIP()  106 {  107     try  108     {  109         string stringIP = "";  110         ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");  111         ManagementObjectCollection MOC = MC.GetInstances();  112         foreach (ManagementObject MO in MOC)  113         {  114             if ((bool)MO["IPEnabled"] == true)  115             {  116                 string[] IPAddresses = (string[])MO["IPAddress"];  117                 if (IPAddresses.Length > 0)  118                 {  119                     stringIP = IPAddresses[0].ToString();  120                 }  121             }  122         }  123         return stringIP;  124     }  125     catch  126     {  127         return "";  128     }  129 }  130 public static string GetOutIP()  131 {  132     string strUrl = "http://www.ip138.com/ip2city.asp"; //获得IP的网址了   133     Uri uri = new Uri(strUrl);  134     System.Net.WebRequest wr = System.Net.WebRequest.Create(uri);  135     System.IO.Stream s = wr.GetResponse().GetResponseStream();  136     System.IO.StreamReader sr = new System.IO.StreamReader(s, Encoding.Default);  137     string all = sr.ReadToEnd(); //读取网站的数据             138     int i = all.IndexOf("[") + 1;  139     string tempip = all.Substring(i, 15);  140     string ip = tempip.Replace("]", "").Replace(" ", "");//找出i  141     //也可用  142     //new Regex(@"ClientIP: \[([\d.]+?)\]").Match(new System.Net.WebClient().DownloadString("http://www.skyiv.com/info/")).Groups[1].Value;  143     return ip;  144 }  

 

在Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号