.net获取硬件信息 分类: .NET 2014-02-18 14:13 391人阅读 评论(0) 收藏
2014-02-18 14:13
465 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Management; using Microsoft.Win32; using Microsoft.VisualBasic.Devices; using System.Windows.Forms; using System.Drawing; namespace PMS.Common { public static class GetMachineInfo { /// <summary> /// 取机器名 /// </summary> /// <returns></returns> public static string GethostName() { return System.Net.Dns.GetHostName(); } /// <summary> /// 获取cpu序列号 /// </summary> /// <returns></returns> public static string GetCPUSerialNumber() { string cpuSerialNumber = ""; try { ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { cpuSerialNumber = mo["ProcessorId"].ToString(); break; } mc.Dispose(); moc.Dispose(); } catch { } return cpuSerialNumber.Replace("-", "").Replace(" ", "").Replace(":", ""); } /// <summary> /// 获取硬盘序列号 /// </summary> /// <returns></returns> public static string GetDiskSerialNumber() { string strID = ""; try { ManagementClass mc = new ManagementClass("Win32_PhysicalMedia"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { strID = mo.Properties["SerialNumber"].Value.ToString(); break; } } catch { } return strID.Replace("-", "").Replace(" ", "").Replace(":", ""); } /// <summary> /// 获取网卡硬件地址 /// </summary> /// <returns></returns> public static string GetMacAddress() { string MacAddress = ""; try { using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration")) { ManagementObjectCollection moc2 = mc.GetInstances(); foreach (ManagementObject mo in moc2) { if ((bool)mo["IPEnabled"] == true) { MacAddress = mo["MacAddress"].ToString(); } } } } catch { } return MacAddress.Replace("-", "").Replace(" ", "").Replace(":", ""); } /// <summary> /// 内存 /// </summary> /// <returns></returns> public static string GetMemory() { string st = ""; try { ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo["TotalPhysicalMemory"].ToString(); } moc = null; mc = null; } catch { } return st.Replace("-", "").Replace(" ", "").Replace(":", ""); } /// <summary> /// 读取BIOS /// </summary> /// <returns></returns> public static string GetBIOS() { string strID = ""; try { ManagementClass mc = new ManagementClass("Win32_BIOS"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { strID = mo.Properties["SerialNumber"].Value.ToString(); break; } } catch { } return strID.Replace("-", "").Replace(" ", "").Replace(":", ""); } /// <summary> /// 获取操作系统版本 /// </summary> /// <returns></returns> public static string GetOS() { return new ComputerInfo().OSFullName; } /// <summary> /// 获取分辨率 /// </summary> /// <returns></returns> public static string GetOsResolution() { Rectangle rect = Screen.PrimaryScreen.Bounds; int width = rect.Width; int height = rect.Height; return width + "*" + height; } /// <summary> /// 获取当前显示器的分辨率 /// </summary> /// <returns></returns> public static string GetOsMemory() { double d = Convert.ToDouble(1024); double result = new ComputerInfo().TotalPhysicalMemory / d / d / d; return Math.Round(result) + "G"; } } }
获取硬件信息时,请优先使用命名空间Microsoft.VisualBasic.Devices(需要导入)下的ComputerInfo类
相关文章推荐
- VC 获取托盘图标信息 分类: VC技术 2012-03-27 20:16 3317人阅读 评论(1) 收藏 举报 nullaccessbuttonshellstructclass //本例以获取程
- 使用URLConnection获取网页信息的基本流程 分类: H1_ANDROID 2013-10-12 23:51 3646人阅读 评论(0) 收藏
- 实战DeviceIoControl 之四:获取硬盘的详细信息 分类: windows驱动程序WDM 2013-09-25 14:48 397人阅读 评论(0) 收藏
- C#获取当前运行的源代码的文件名和当前源代码的行数的方法 分类: .NET 2014-04-20 18:04 327人阅读 评论(0) 收藏
- cocos2d-x获取屏幕位置信息代码 分类: cocos2d代码编写 2015-07-28 21:32 7人阅读 评论(0) 收藏
- C# 远程更新 分类: .NET 2012-12-28 11:05 1156人阅读 评论(0) 收藏
- Activity与Fragment数据传递之Fragment从Activity获取数据 分类: Android 2015-07-01 14:12 17人阅读 评论(0) 收藏
- WPF设置控件的透明度、背景色 分类: .NET 2012-05-28 14:55 6035人阅读 评论(0) 收藏
- c#操作MySql.Data.DLL 分类: .NET 2013-03-08 15:49 4177人阅读 评论(2) 收藏
- 支持同步滚动的RichTextbox控件 分类: .NET 2013-04-23 13:00 416人阅读 评论(1) 收藏
- delegate的衍化过程 分类: .NET 2014-05-14 17:03 301人阅读 评论(0) 收藏
- fileinput模块获取文件的总行数 分类: python 小练习 python Module 2013-12-04 18:19 304人阅读 评论(0) 收藏
- WPF 按钮圆角 分类: .NET 2012-08-23 14:53 6722人阅读 评论(0) 收藏
- 使用super()继承 分类: python 小练习 2013-09-18 14:13 320人阅读 评论(0) 收藏
- c# 日志 分类: .NET 2012-12-17 14:16 1182人阅读 评论(0) 收藏
- Activity与Fragment数据传递之Fragment之间获取数据 分类: Android 2015-07-02 10:33 11人阅读 评论(0) 收藏
- 给按钮添加下拉菜单 分类: .NET 2011-07-01 11:34 434人阅读 评论(0) 收藏
- sql语句-linq语言-lambda表达式对照 分类: .NET 2014-08-16 04:02 250人阅读 评论(0) 收藏
- PHP从零单排(十五)牛刀小试--就业信息周报系统 分类: PHP 2014-05-02 20:28 155人阅读 评论(0) 收藏
- VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号 分类: VC++ 2013-10-08 08:34 986人阅读 评论(0) 收藏