C#网络适配器电缆已拔出或适配器已禁用

C#网络适配器电缆已拔出或适配器已禁用,c#,C#,我正在创建一个Winforms应用程序,以查看不同网络适配器和连接的某些详细信息。我正在使用“Win32\U NetworkAdapter”和“Win32\U NetworkAdapter配置”类 其中一个功能是显示适配器的当前状态,无论它是启用还是禁用的。使用这些信息,我可以启用或禁用适配器 我遇到的问题是,当适配器启用并连接时,它工作正常,但当适配器禁用或电缆断开时,它显示为禁用 我怎样才能像您在Windows网络和共享中心>>>适配器设置中看到的那样,使用未拔出的网络电缆专门检查已启用的适

我正在创建一个Winforms应用程序,以查看不同网络适配器和连接的某些详细信息。我正在使用“Win32\U NetworkAdapter”和“Win32\U NetworkAdapter配置”类

其中一个功能是显示适配器的当前状态,无论它是启用还是禁用的。使用这些信息,我可以启用或禁用适配器

我遇到的问题是,当适配器启用并连接时,它工作正常,但当适配器禁用或电缆断开时,它显示为禁用


我怎样才能像您在Windows网络和共享中心>>>适配器设置中看到的那样,使用未拔出的网络电缆专门检查已启用的适配器。

在一个项目中使用了此选项,它是在Windows XP时代使用的

System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher("SELECT NetConnectionStatus FROM Win32_NetworkAdapter");
foreach (System.Management.ManagementObject networkAdapter in searcher.Get())
{
    if (networkAdapter["NetConnectionStatus"] != null)
    {
        if (Convert.ToInt32(networkAdapter["NetConnectionStatus"]).Equals(2))
        {
            connected = true;
            break;
        }
    }
}

这些类来自何处?您是如何将值
2
设置为“已连接”的?@Eris我实际上一直在使用“NetConnectionStatus”字段,尽管我从未意识到它会返回不同的值。这解决了我的很多问题。非常感谢,先生