在C#中,我希望在运行时获得笔记本电脑有线LAN连接列表,但我不希望有任何WiFi或无线LAN。
我已经使用了各种方法来获得网络列表:-ManagementClass
:
ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMC.GetInstances();
foreach (ManagementObject objMO in objMOC)
{
if (!(bool)objMO["ipEnabled"])
continue;
this.textBox1.Text += (Convert.ToString(objMO["Description"])) + Environment.NewLine;
}
上面的代码没有给出网络类型的信息(wifi或有线)NetworkInterface
类:
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
this.textBox1.Text += nic.Name.ToString();
this.textBox1.Text += "MAC: " + nic.GetPhysicalAddress().ToString();
this.textBox1.Text += "Type: " + nic.NetworkInterfaceType;
this.textBox1.Text += "Description: " + nic.Description.ToString();
this.textBox1.Text += "OperationalStatus: " + nic.OperationalStatus.ToString() + ;
}
上面的代码给了我以太网局域网的描述列表。即使是网络接口类型的无线局域网显示为Ehternet,例如:类型:以太网描述:英特尔®迅驰® Ultimate-N 6300 AGN-数据包调度程序微型端口
我的意思是没有办法区分哪一个是无线或有线网络。
我也试过**NativeWifi.WlanClient
**,但它崩溃了。
Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList(0);
foreach (Wlan.WlanAvailableNetwork network in networks)
{
if (network.dot11DefaultCipherAlgorithm == Wlan.Dot11CipherAlgorithm.WEP)
{
this.textBox1.Text = string.Format("Found WEP network with SSID {0}: ", GetStringForSSID(network.dot11Ssid)) + Environment.NewLine;
}
}
如有任何指导,我们将不胜感激。谢谢
2条答案
按热度按时间f87krz0w1#
ffdz8vbo2#
这将消除除物理有线接口以外的所有接口