代碼獲取計算機硬件信息,代碼如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using Microsoft.Win32;
namespace GetHardDiskID_BIOSNumber
{
class Program
{
static void Main(string[] args)
{
//PrintMotherBoardInfo();
Console.WriteLine("主板序號:" + GetMotherBoardSerialNumber());
Console.WriteLine("CPU序列號代碼:"+GetCPUMessage());
Console.WriteLine("網卡硬件地址"+GetMacMessage());
GetHardMessage();
Console.Read();
}
/// <summary>打印主板信息
///
/// </summary>
private static void PrintMotherBoardInfo()
{
ManagementClass mc = new ManagementClass("WIN32_BaseBoard");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
foreach (PropertyData pd in mo.Properties)
{
Console.WriteLine(string.Format("{0}{1}{2}", pd.Name, "/t", pd.Value));
}
}
}
//獲取主板序號
private static string GetMotherBoardSerialNumber()
{
ManagementClass mc = new ManagementClass("WIN32_BaseBoard");
ManagementObjectCollection moc = mc.GetInstances();
string SerialNumber = "";
foreach (ManagementObject mo in moc)
{
SerialNumber = mo["SerialNumber"].ToString();
break;
}
return SerialNumber;
}
//獲取CPU序列號代碼
private static string GetCPUMessage()
{
string cpuInfo = "";//cpu序列號
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
return cpuInfo;
}
//獲取網卡硬件地址MAC address
private static string GetMacMessage()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
string MsNo = "";
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
MsNo = mo["MacAddress"].ToString();
mo.Dispose();
}
return MsNo;
}
//獲取硬盤ID
private static void GetHardMessage()
{
string HDid = "";
ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
HDid = (string)mo.Properties["Model"].Value;
Console.WriteLine("硬盤ID:" + HDid);
}
//return HDid;
}
}
}
測試機器:
3臺型號相同的聯想筆記本
測試 結果
1.
主板序號:1ZH3B1359MY
CPU序列號代碼:BFEBFBFF00020655
網卡硬件地址88:9F:FA:FD:02:89
硬盤ID:WDC WD3200BEVT-08A23T1
2.
主板序號:1ZH3B13S2LN
CPU序列號代碼:BFEBFBFF00020655
網卡硬件地址88:9F:FA:FD:7D:C2
硬盤ID:WDC WD3200BEVT-08A23T1 ATA Device
硬盤ID:Generic- Multi-Card USB Device
3.