GetAllNetworkInterface()返回一个不完整的列表

本文关键字:列表 返回 GetAllNetworkInterface 一个 | 更新日期: 2023-09-27 18:20:16

NetworkInterface.GetAllNetworkInterface()未返回完整列表,当我转到网络设备,并使用属性禁用internet协议版本4(TCP/IPv4)复选框时,GetAllNetworkInterfaces将停止识别该设备。我觉得这很奇怪,因为尽管在这之后该设备无法上网(我们可能仍然有IPv6,但为了论证起见),但它仍然是一个网络设备有人能解释一下,或者展示一下如何解决这个问题吗?

GetAllNetworkInterface()返回一个不完整的列表

经过一段时间的搜索,我发现可以使用以下方法访问完整的列表:

        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,否则您将无法使用之上的代码