参考代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
namespace Hardware
{
class Program
{
static void Main(string[] args)
{
// get processor Id
string processorId = string.Empty; // processorId
ManagementClass cimObject = new ManagementClass("Win32_Processor"); ;
ManagementObjectCollection moc = cimObject.GetInstances();
foreach (ManagementObject mo in moc)
{
processorId = mo.Properties["ProcessorId"].Value.ToString();
Console.WriteLine("cpu:" + processorId.ToString());
}
// get harddisk model
string HDModel=string.Empty;
ManagementClass cimObject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimObject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
HDModel = (string)mo.Properties["Model"].Value;
Console.WriteLine("HardDisk:" + HDModel.ToString());
}
// another method getting harddisk SerialNumber
string HDSN = string.Empty; // harddisk serial number
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
ManagementObjectCollection moc2 = searcher.Get();
foreach (ManagementObject mo in moc2)
{
HDSN = mo["SerialNumber"].ToString().Trim();
break;
}
Console.WriteLine("HardDiskSN:" + HDSN);
// get network adapter configuration
ManagementClass cimObject2 = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc3 = cimObject2.GetInstances();
foreach (ManagementObject mo in moc3)
{
if ((bool)mo["IPEnabled"])
Console.WriteLine("MAC address/t{0}", mo["MacAddress"].ToString());
mo.Dispose();
}
Console.Read();
}
}
}
不要忘了Reference下System.Managment的引用
帮助:
foreach (PropertyData pd in mo.Properties)
{
Console.WriteLine(pd.Name);
}
这段代码可以用来获取你想知道的ManagementObject下的Properties