日期:2014-05-19  浏览次数:20837 次

菜鸟未解决的问题,C#编程获取本地网关的IP和MAC地址!
我在学习C#语言的过程中,遇到个问题,不知如何获取本地网关的IP和MAC地址,我编的程序段如下:
private   void   Form1_Load(object   sender,   EventArgs   e)
                {
                        ManagementClass       mc;  
                        mc=new       ManagementClass( "Win32_NetworkAdapterConfiguration ");  
                        ManagementObjectCollection       moc=mc.GetInstances();  
                        foreach(ManagementObject       mo       in       moc)  
                        {
                                if   (mo[ "IPEnabled "].ToString()   ==   "True ")
                                {
                                        string   IPst;
                                        string   MACst;
                                        IPst   =   (mo[ "DefaultIPGateway "]   as   String[])[0];
                                        MACst   =   mo[ "DefaultMACGateway "].ToString();
                                        MACst   =   MACst.Replace( ": ",   "- ");
                                        IPAddr.Text   =   IPst;
                                        MACAddr.Text   =   MACst;
                                  }
                            }
                }

其中的DefaultIPGateway是可以获取的,已经编译实现过了,可是DefaultMACGateway却没有通过编译,   菜鸟在此请教如何获取网关的MAC地址,我这样获取对吗?

我在用ARP   -A命令时是可以看到本机的IP和MAC地址以及网关的IP和MAC地址,按理说应该可以获取的,   不知应该怎么获取!

------解决方案--------------------
关注,帮你顶
------解决方案--------------------
也想知道 帮你顶
------解决方案--------------------
ManagementClass oMClass = new ManagementClass ( "Win32_NetworkAdapterConfiguration ");
ManagementObjectCollection colMObj = oMCLass.GetInstances();
foreach(ManagementObject objMO in colMObj)
{