System.Net.IPAddress address=new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName().AddressList[0].Address);
其中address返回的是一个数组。如果你上了网,返回的是你局域网的IP和上网时的IP。

解决方案 »

  1.   

    如果你上了网,用这个可以获取上网的IP。
    System.Net.IPAddress address=new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName().AddressList[1].Address);
    总之,返回的是个数组,你一个一个提出来就可以了。有时服务器装了很多个网卡。利用遍历返回的数组,你就可以获得所有的IP。
      

  2.   

    hehe,人家要的是网卡物理地址哦,不是要本地ip:)
      

  3.   

    using System.Management;
    ...
      ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
      ManagementObjectCollection moc = mc.GetInstances();
      foreach(ManagementObject mo in moc)
      {
       if((bool)mo["IPEnabled"] == true)
        Console.WriteLine("MAC address\t{0}", mo["MacAddress"].ToString());
       mo.Dispose();
      }
     }
      

  4.   

    系统命名空间中没有Management !;请说的详细一点,谢谢!
      

  5.   

    感谢您使用微软产品。
     
    如果系统提示找不到名字空间Management,您可以尝试一下步骤来解决问题。
    1. 在Solution Explorer中鼠标右键单击References,选择Add Reference…
    2. 此时会弹出Add Reference对话框,选中.NET选项卡。
    3. 选中System.Management,双击。
    4. 点击”OK”。
    - 微软全球技术中心 VC技术支持
     
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  6.   

    二天没有来了,不好意思,不过楼上的说的正确,MSDN里有说的。解决了吗?