Windows的硬件信息保存的机制,也是利用类数据库的方式,采用WMI的查询方式,基本可以获取所有的硬件信息,就像前面我提到的 C#遍历系统所安装的打印机.
今天,有个网友,问及 MAC 地址的事,我就给出了下面的代码:
static string GetMAC()
{
using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
{
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"])
return mo["MacAddress"].ToString();
}
}
return null;
}
要使用上面的代码,需要添加 System.Management.dll 的引用。