当前位置:文档之家› c#获取计算机当前硬件信息

c#获取计算机当前硬件信息

C#获取当前计算机的系统信息//系统标识符和版本号string strSystem = Environment.OSVersion.ToString();//获取映射到进程上下文的物理内存量string strRem=Environment.WorkingSet.ToString();//获取系统启动后经过的毫秒数intiTC=Environment.TickCount/60000;//系统目录的完全限定路径string strSD=Environment.SystemDirectory;//获取此本地计算机的NetBIOS 名称string strMN=Environment.MachineName;//获取与当前用户关联的网络域名string strUDN=erDomainName;------------------------------------------------------------------------------------- //输出所有驱动器号string[] drv=System.IO.Directory.GetLogicalDrives();还有文件信息,最后修改时间等等获取某一目录下的所有文件信息//当前目录下的所有文件夹DirectoryInfo di=new DirectoryInfo(strPath);DirectoryInfo[] wjj=di.GetDirectories();//此代码从网络收集整理//经测试通过//需引用System.Managementusing System;using System.Management;namespace MyCustomClassLib{/// <summary>/// 硬件信息类/// </summary>public class HardwareInfo{public HardwareInfo(){//// TODO: 在此处添加构造函数逻辑//}#region 硬件属性/// <summary>/// 机器名/// </summary>public string HostName{get{return .Dns.GetHostName();} }/// <summary>/// CPU编号/// </summary>public string CPUID{get{return GetCpuID();}}/// <summary>/// 硬盘编号/// </summary>public string HardDiskID{get{return GetHardDiskID();}}/// <summary>/// 网卡MAC/// </summary>public string NetMac{get{return GetMac();}}#endregion#region 获取硬件信息的方法/// <summary>/// 获得CPU编号/// </summary>/// <returns></returns>private string GetCpuID(){string result="";try{ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollectionmoc = mc.GetInstances();foreach( ManagementObjectmo in moc ){result=mo.Properties["ProcessorId"].Value.ToString();}}catch{return "获取CPUID失败";}return result;}/// <summary>/// 获得硬盘编号/// </summary>/// <returns></returns>private string GetHardDiskID(){string result="";try{ManagementClassmcHD=new ManagementClass("win32_logicaldisk"); ManagementObjectCollectionmocHD=mcHD.GetInstances();foreach(ManagementObject m in mocHD){if(m["DeviceID"].ToString()=="C:"){result=m["VolumeSerialNumber"].ToString().Trim();}}}catch{return "获取硬盘ID失败";}return result;}/// <summary>/// 获得网卡MAC/// </summary>/// <returns></returns>private string GetMac(){string result="";try{ManagementClassmcMAC=newManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollectionmocMAC=mcMAC.GetInstances();foreach(ManagementObject m in mocMAC){if((bool)m["IPEnabled"]){result=m["MacAddress"].ToString();}}}catch{return "获取MAC失败";}return result;}#endregion}}获取CPU编号:viewplaincopy to clipboardprint?ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollectionmoc = mc.GetInstances();string strID = null ;foreach( ManagementObjectmo in moc ){strID = mo.Properties["ProcessorId"].Value.ToString();break;}textBox1.Text += "CPU ID:" + strID;ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollectionmoc = mc.GetInstances();string strID = null ;foreach( ManagementObjectmo in moc ){strID = mo.Properties["ProcessorId"].Value.ToString();break;}textBox1.Text += "CPU ID:" + strID;电脑1:CPU ID:BFEBFBFF00000F27电脑2:CPU ID:BFEBFBFF00000F27电脑3:CPU ID:BFEBFBFF00000F29电脑4:CPU ID:BFEBFBFF00000F29获取主板编号:viewplaincopy to clipboardprint?ManagementClass mc = new ManagementClass("Win32_BaseBoard"); ManagementObjectCollectionmoc = mc.GetInstances();string strID = null ;foreach( ManagementObjectmo in moc ){strID = mo.Properties["SerialNumber"].Value.ToString();break;}textBox1.Text += "主板ID:" + strID;ManagementClass mc = new ManagementClass("Win32_BaseBoard"); ManagementObjectCollectionmoc = mc.GetInstances();string strID = null ;foreach( ManagementObjectmo in moc ){strID = mo.Properties["SerialNumber"].Value.ToString();break;}textBox1.Text += "主板ID:" +strID;电脑2:主板ID:CN24401483电脑3:主板ID:AZF241001101获取硬盘编号:viewplaincopy to clipboardprint?ManagementClass mc = new ManagementClass("Win32_PhysicalMedia");//网上有提到,用Win32_DiskDrive,但是用Win32_DiskDrive获得的硬盘信息中并不包含SerialNumber属性。

ManagementObjectCollectionmoc = mc.GetInstances();string strID = null ;foreach( ManagementObjectmo in moc ){strID = mo.Properties["SerialNumber"].Value.ToString();break;}textBox1.Text += "硬盘ID:" + strID;ManagementClass mc = new ManagementClass("Win32_PhysicalMedia");//网上有提到,用Win32_DiskDrive,但是用Win32_DiskDrive获得的硬盘信息中并不包含SerialNumber属性。

相关主题