如果在Vista下面取网卡的MAC地址? 急!
下面这段代码是取MAC地址的,在2000和XP下面没有任何问题,无论是联网或者是断开都可以取得MAC地址.但是在Vista下面,如果是连线状态可以取得MAC地址,但是断线就取不到MAC地址了.
哪位高人能指点一下是什么原因,谢谢了!
try
{
//获取网卡硬件地址
String sReturn = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
sReturn = mo["MacAddress"].ToString();
BFileLog file = new BFileLog();
file.fWriteLog(sReturn);
break;
}
}
moc = null;
mc = null;
sReturn = sReturn.Replace(":", "-");
return sReturn;
}
catch
{
return "";
} --------------------编程问答-------------------- 着急啊,自己顶一下! --------------------编程问答-------------------- 从注册表里读应该可以的.LZ试试 --------------------编程问答-------------------- 可能和vista的网卡管理方式有关,程序没有错,可能你得先研究vista在断线情况下对网卡状态的管理了。你在断线情况下,用arp -a看看可不可以看到你的mac地址,能得化就让c#通过控制台执行arp -a命令来获取mac吧
补充:.NET技术 , C#