首页 / C# / 【C#】 获取计算机的硬件信息
【C#】 获取计算机的硬件信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【C#】 获取计算机的硬件信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4150字,纯文字阅读大概需要6分钟。
内容图文
![【C#】 获取计算机的硬件信息](/upload/InfoBanner/zyjiaocheng/711/61497bd917cc4218af73951e60a50e8a.jpg)
添加引用:System.Management
1 /// <summary> 2 /// 获取本机的MAC地址 3 /// </summary> 4 /// <returns></returns> 5 public static string GetMACString() 6 { 7 ManagementClass mAdapter = new ManagementClass("Win32_NetworkAdapterConfiguration"); 8 ManagementObjectCollection mo = mAdapter.GetInstances(); 9 foreach (ManagementBaseObject m in mo) 10 { 11 if ((bool)m["IpEnabled"] == true) 12 { 13 return m["MacAddress"].ToString(); 14 } 15 } 16 mo.Dispose(); 17 return null; 18 } 19 20 21 22 /// <summary> 23 /// 获取CPU的个数 24 /// </summary> 25 /// <returns></returns> 26 public static int GetCpuCount() 27 { 28 try 29 { 30 using (ManagementClass mCpu = new ManagementClass("Win32_Processor")) 31 { 32 ManagementObjectCollection cpus = mCpu.GetInstances(); 33 return cpus.Count; 34 } 35 } 36 catch 37 { 38 } 39 return -1; 40 } 41 42 43 44 /// <summary> 45 /// 获取CPU的频率 这里之所以使用string类型的数组,主要是因为cpu的多核 46 /// </summary> 47 /// <returns></returns> 48 public static string[] GetCpuMHZ() 49 { 50 ManagementClass mc = new ManagementClass("Win32_Processor"); 51 ManagementObjectCollection cpus = mc.GetInstances(); 52 53 string[] mHz = new string[cpus.Count]; 54 int c = 0; 55 ManagementObjectSearcher mySearch = new ManagementObjectSearcher("select * from Win32_Processor"); 56 foreach (ManagementObject mo in mySearch.Get()) 57 { 58 mHz[c] = mo.Properties["CurrentClockSpeed"].Value.ToString(); 59 c++; 60 } 61 mc.Dispose(); 62 mySearch.Dispose(); 63 return mHz; 64 } 65 66 67 68 /// <summary> 69 /// 获取硬盘的大小 70 /// </summary> 71 /// <returns></returns> 72 public static string GetSizeOfDisk() 73 { 74 ManagementClass mc = new ManagementClass("Win32_DiskDrive"); 75 ManagementObjectCollection moj = mc.GetInstances(); 76 foreach (ManagementObject m in moj) 77 { 78 return m.Properties["Size"].Value.ToString(); 79 } 80 return "-1"; 81 } 82 83 84 85 86 /// <summary> 87 /// 获取内存的大小 88 /// </summary> 89 /// <returns></returns> 90 public static string GetSizeOfMemery() 91 { 92 ManagementClass mc = new ManagementClass("Win32_OperatingSystem"); 93 ManagementObjectCollection moc = mc.GetInstances(); 94 95 double sizeAll = 0.0; 96 foreach (ManagementObject m in moc) 97 { 98 if (m.Properties["TotalVisibleMemorySize"].Value != null) 99 { 100 sizeAll += Convert.ToDouble(m.Properties["TotalVisibleMemorySize"].Value.ToString()); 101 } 102 } 103 mc = null; 104 moc.Dispose(); 105 106 return sizeAll.ToString(); 107 } 108 109 /// <summary> 110 /// 取CPU编号 111 /// </summary> 112 /// <returns></returns> 113 public static String GetCpuID() 114 { 115 try 116 { 117 ManagementClass mc = new ManagementClass("Win32_Processor"); 118 ManagementObjectCollection moc = mc.GetInstances(); 119 120 String strCpuID = null; 121 foreach (ManagementObject mo in moc) 122 { 123 strCpuID = mo.Properties["ProcessorId"].Value.ToString(); 124 break; 125 } 126 return strCpuID; 127 } 128 catch 129 { 130 return ""; 131 } 132 133 }
内容总结
以上是互联网集市为您收集整理的【C#】 获取计算机的硬件信息全部内容,希望文章能够帮你解决【C#】 获取计算机的硬件信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。