你的代码只能返回第一个如果你要返回VMWare的,你需要根据适配器判断参考
http://msdn.microsoft.com/en-us/library/vstudio/system.net.networkinformation.networkinterface

解决方案 »

  1.   

    谢谢,我刚设断点查看了下所有的IP地址,以及对应的MAC, 发现VMWare所自动创建的环境,Mac地址比正常局域网以太网适配器环境的Mac地址要长至少2倍,  误打误撞,解决了问题。但不理解VMWare的虚拟原理,不知道换了其他环境是不是照样有效……贴出代码……   欢迎修改和指正!
      

  2.   

      private string GetLocalIP()  
            {  
                string stringMAC = "";  
                string stringIP = "";  
                ManagementClass managementClass = new ManagementClass("Win32_NetworkAdapterConfiguration");  
                ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();  
                foreach(ManagementObject managementObject in managementObjectCollection)  
                {  
                    if ((bool)managementObject["IPEnabled"] == true)  
                    {  
                        stringMAC += managementObject["MACAddress"].ToString();
                        if (stringMAC.Length == 17)
                        {
                            string[] IPAddresses = (string[])managementObject["IPAddress"];
                            if (IPAddresses.Length > 0)
                            {
                                stringIP = IPAddresses[0];
                            }
                        }
                    }  
                }  
                //stringMAC.ToString();  
                return stringIP.ToString();  
            }  
      

  3.   


    截图中下面两个是VMWare所创建环境的MAC 和IP