【发布时间】:2016-04-22 18:48:36
【问题描述】:
我有下面的代码来从机器上获取物理mac地址,它在大多数情况下都可以正常工作,但在某些情况下我会出错 像这样(原始错误消息不是英文,所以我正在尝试自己翻译):
服务无法启动,因为它被禁用或没有 关联的活动设备(HRESULT 异常:0x80070422)
无法启动或禁用的服务是什么?我该如何解决这个问题?
这是我正在使用的代码:
public string GetMACAddress()
{
ManagementObjectSearcher objMOS = new ManagementObjectSearcher("Select * FROM Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMOS.Get();
string macAddress = String.Empty;
foreach (ManagementObject objMO in objMOC)
{
object tempMacAddrObj = objMO["MacAddress"];
if (tempMacAddrObj == null) //Skip objects without a MACAddress
{
continue;
}
if (macAddress == String.Empty) // only return MAC Address from first card that has a MAC Address
{
macAddress = tempMacAddrObj.ToString();
}
objMO.Dispose();
}
return macAddress;
}
【问题讨论】: