в C #, я хочу получить список подключений проводной локальной сети моего ноутбука во время выполнения, но я не хочу никакой беспроводной или беспроводной локальной сети.
Я использовал различные способы получения списка сети: -
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;
}
Выше код не дает информации о типе сети (Wi-Fi или проводная)
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() + ;
}
Приведенный выше код дает мне список описания локальной сети Ethernet.даже NetworkInterfaceType для Wi-Fi LAN отображается как Ehternet, например: Тип: Ethernet Описание: Intel (R) Centrino (R) 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;
}
}
Любые рекомендации будут оценены.Спасибо