В настоящее время я использую Managed Wifi API, чтобы получить SSID беспроводной сети, к которой подключено устройство. Вот мой метод:Проверьте, ТОЛЬКО подключено к WiFi C#
public string getSSID() {
try {
WlanClient wlan = new WlanClient();
Collection<String> ConnectedSSIDs = new Collection<string>();
foreach (WlanClient.WlanInterface wlanInterface in wlan.Interfaces) {
Wlan.Dot11Ssid ssid = wlanInterface.CurrentConnection.wlanAssociationAttributes.dot11Ssid;
ConnectedSSIDs.Add(new String(Encoding.ASCII.GetChars(ssid.SSID, 0, (int)ssid.SSIDLength)));
}
return ConnectedSSIDs[0];
} catch (Win32Exception) {
return EMPTY;
} catch (Exception Ex) {
throw Ex;
}
}
В настоящее время из этого, можно определить ли я подключен к Wi-Fi и Ethernet (поскольку SSID по-прежнему существует в этой ситуации) или просто Ethernet.
Я хотел бы как-то вычитать, подключен ли я к Wifi, а не к Ethernet, в дополнение к этому.
я имел взгляд на:
Неожиданно, глядя на AdapterType свойство Win32_NetworkAdapter (когда подключен только к Wi-Fi) Я до сих пор вернулся " Ethernet 802.3 " вместо " Wireless ", что я и ожидал.
К сожалению, я не думаю, что есть способ в Управляемый Wifi API для достижения того, что я хочу.
РЕДАКТИРОВАТЬ
Поэтому у меня есть эти 3 константы определены:
private const string WIFI_AND_ETHERNET = "WIFI & ETHERNET";
private const string WIFI = "WIFI";
private const string ETHERNET = "ETHERNET";
В настоящее время метод я показал выше, можно вычесть ли сетевое соединение ETHERNET
или WIFI_AND_ETHERNET
.
Он делает это, проверяя наличие/видимость SSID. Если да, то он вернет WIFI_AND_ETHERNET
, но в отсутствие одного он вернет только ETHERNET
.
Что мне нужно сейчас способ отличить ли сетевые соединения через WIFI
ТОЛЬКО или WIFI_AND_ETHERNET
вместе
Вероятно, это: https://bytes.com/topic/c-sharp/answers/657473-wmi-wifi-discovery –
@x ... ни вопрос, ни работа решение – wmash
Вы, вероятно, может достичь это с помощью ndis с использованием gen_physical_medium. Это возвращает перечисление, которое указывает, является ли это Bluetooth Ethernet или лаборатория беспроводной связи и т. Д. См. Https://msdn.microsoft.com/en-us/library/windows/hardware/ff569621(v=vs.85).aspx – rfkortekaas