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(); } }
System.Net.IPAddress address=new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName().AddressList[1].Address);
总之,返回的是个数组,你一个一个提出来就可以了。有时服务器装了很多个网卡。利用遍历返回的数组,你就可以获得所有的IP。
...
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();
}
}
如果系统提示找不到名字空间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))。