C#检查网线是否插好,网卡是否启用
using System;
using System.Collections.Generic;
using System.Net.NetworkInformation;
public class NetworkStatusChecker
{
public static void CheckNetworkStatus()
{
var interfaces = NetworkInterface.GetAllNetworkInterfaces();
bool foundActiveEthernet = false;
foreach (var ni in interfaces)
{
// 跳过非物理网卡(如环回、隧道等)
if (ni.NetworkInterfaceType == NetworkInterfaceType.Loopback ||
ni.NetworkInterfaceType == NetworkInterfaceType.Tunnel)
continue;
// 检查网卡是否启用(非禁用状态)
bool isEnabled = ni.OperationalStatus == OperationalStatus.Up;
// 检查物理连接状态(仅对有线网卡有效)
bool isCableConnected = false;
if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet ||
ni.NetworkInterfaceType == NetworkInterfaceType.GigabitEthernet)
{
isCableConnected = isEnabled &&
ni.GetPhysicalAddress().GetAddressBytes().Length > 0;
}
Console.WriteLine($"网卡: {ni.Name}");
Console.WriteLine($"类型: {ni.NetworkInterfaceType}");
Console.WriteLine($"状态: {(isEnabled ? "已启用" : "已禁用")}");
Console.WriteLine($"网线状态: {(isCableConnected ? "已连接" : "未连接/未知")}");
Console.WriteLine(new string('-', 50));
// 检测到活动的以太网连接
if (isEnabled && isCableConnected)
foundActiveEthernet = true;
}
Console.WriteLine("n网络状态摘要:");
Console.WriteLine(foundActiveEthernet
? "✅ 检测到活动的以太网连接"
: "❌ 未检测到有效的以太网连接");
}
public static void Main()
{
CheckNetworkStatus();
}
}
文章目录
文章作者:hujiato
文章标题:C#检查网线是否插好,网卡是否启用
文章链接:https://www.xbaoku.top/?post=4
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自hujiato !
文章标题:C#检查网线是否插好,网卡是否启用
文章链接:https://www.xbaoku.top/?post=4
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自hujiato !
设备上扫码阅读