当前位置:编程学习 > C#/ASP.NET >>

如果在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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,