NetworkInterface.GetAllNetworkInterfaces()没有返回完整的列表, 当我转到网络设备,并使用属性我禁用互联网协议版本4(TCP / IPv4)复选框,GetAllNetworkInterfaces停止识别该设备。 我发现这很奇怪,因为虽然此后设备不具备互联网能力(我们仍然可能有IPv6,但为了论证)它仍然是一个网络设备 有人可以解释一下,或者说明如何解决这个问题?
答案 0 :(得分:1)
经过一段时间的搜索后,我发现可以使用以下方法访问完整列表:
SelectQuery wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter");
ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(wmiQuery);
foreach (ManagementObject networkAdapter in searchProcedure.Get())
{
//here do whatever you want to do to the adapter
}
可以在(不是C#特定的)找到更一般的描述: http://msdn.microsoft.com/en-us/library/aa394216(v=vs.85).aspx
同样在C#中确保引用System.Management,否则你将无法使用上面的代码