C#如何获取电脑上的网卡信息?一台电脑上的网卡有可能不止一个,默认一个本地连接(以太网),如果安装了虚拟机,还会有一个;如果安装了无线wifi,还会有wifi的网卡。网卡的状态可能是禁用,活动,以及受限等,下面讲讲怎么获取活动的网卡。
方法/步骤
1、打开VS新建一个项目,添加两个ListBox做测试使用。具体的的操作:点击左边显示的活动网卡名称,右边显示选择的网卡内容。”
2、打开代码设计器,方法findNetwork()获取网卡活动的网卡地址。List<NetworkInterface>active;publicvoidfindNetwork(){//获取本机所有网络接口对象,返回的是一个对象数组NetworkInterface[]adapters=NetworkInterface.GetAllNetworkInterfaces();//活动的网络接口可能不止一个active=newList<NetworkInterface>();listBox1.Items.Clear();foreach(NetworkInterfaceniinadapters){if(ni.OperationalStatus==OperationalStatus.Up){active.Add(ni);listBox1.Items.Add(ni.Name);}}}
3、双击左边的listbox,进入到如下事件方法,在右边是显示对应的网卡信息。private箪滹埘麽voidlistBox1_SelectedInde旌忭檀挢xChanged(objectsender,EventArgse){intindex=listBox1.SelectedIndex;if(index<0)return;NetworkInterfaceni=active[listBox1.SelectedIndex];listBox2.Items.Clear();listBox2.Items.Add("名称:"+ni.Name);listBox2.Items.Add("ID:"+ni.Id);listBox2.Items.Add("速度:"+ni.Speed);listBox2.Items.Add("描述:"+ni.Description);listBox2.Items.Add("类型:"+ni.NetworkInterfaceType);listBox2.Items.Add("状态:"+ni.OperationalStatus);listBox2.Items.Add("数据接受状态:"+ni.IsReceiveOnly);listBox2.Items.Add("物理地址:"+ni.GetPhysicalAddress().ToString());}
4、效果如图: