GetAllNetworkInterface()返回一个不完整的列表
本文关键字:列表 返回 GetAllNetworkInterface 一个 | 更新日期: 2023-09-27 18:20:16
NetworkInterface.GetAllNetworkInterface()未返回完整列表,当我转到网络设备,并使用属性禁用internet协议版本4(TCP/IPv4)复选框时,GetAllNetworkInterfaces将停止识别该设备。我觉得这很奇怪,因为尽管在这之后该设备无法上网(我们可能仍然有IPv6,但为了论证起见),但它仍然是一个网络设备有人能解释一下,或者展示一下如何解决这个问题吗?
经过一段时间的搜索,我发现可以使用以下方法访问完整的列表:
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,否则您将无法使用之上的代码