/// <summary> /// Turns on the radio of a wireless interface which is not currently on but can be on. /// </summary> /// <returns>True if successfully turned on. False if not.</returns> public static async Task <bool> TurnOnAsync() { var targetInterface = NativeWifi.EnumerateInterfaces() .FirstOrDefault(x => { var radioSet = NativeWifi.GetInterfaceRadio(x.Id)?.RadioSets.FirstOrDefault(); if (radioSet == null) { return(false); } if (!radioSet.HardwareOn.GetValueOrDefault()) // Hardware radio state is off. { return(false); } return(radioSet.SoftwareOn == false); // Software radio state is off. }); if (targetInterface == null) { return(false); } try { return(await Task.Run(() => NativeWifi.TurnOnInterfaceRadio(targetInterface.Id))); } catch (UnauthorizedAccessException) { return(false); } }
public async ValueTask SetWifiEnabledAsync(bool enabled) { foreach (var iface in NativeWifi.EnumerateInterfaces()) { var radioSet = NativeWifi.GetInterfaceRadio(iface.Id)?.RadioSets.FirstOrDefault(); if (radioSet == null) { continue; } if (radioSet.HardwareOn != true) { continue; } if (enabled) { await Task.Run(() => NativeWifi.TurnOnInterfaceRadio(iface.Id)); } else { await Task.Run(() => NativeWifi.TurnOffInterfaceRadio(iface.Id)); } } }
public override void ConnectTrueWifi() { connectionStateCallBack.StateChange("连接正确WIFI..."); // 打开WLAN NativeWifi.TurnOnInterfaceRadio(NativeWifi.EnumerateInterfaces().FirstOrDefault().Id); while (true) { // 找到 WIFI var a = NativeWifi.EnumerateAvailableNetworks() .Where(x => !string.IsNullOrWhiteSpace(x.ProfileName)) .OrderByDescending(x => x.SignalQuality) .Where(x => x.Ssid.ToString().Equals("HXGNET")) .FirstOrDefault(); if (a == null) { connectionStateCallBack.StateChange("等待WIFI..."); Thread.Sleep(500); continue; } // 连接 NativeWifi.ConnectNetwork(a.Interface.Id, a.ProfileName, a.BssType); connectionStateCallBack.StateChange("已连接WIFI..."); break; } }
public ValueTask <bool?> GetWifiEnabledAsync() { var targetInterface = NativeWifi.EnumerateInterfaces().FirstOrDefault(); if (targetInterface == null) { return(new ValueTask <bool?>((bool?)null)); } var radioSet = NativeWifi.GetInterfaceRadio(targetInterface.Id)?.RadioSets.FirstOrDefault(); return(new ValueTask <bool?>(radioSet?.SoftwareOn)); }
private static void TurnOff() { foreach (var interfaceInfo in NativeWifi.EnumerateInterfaces()) { Trace.WriteLine($"Interface: {interfaceInfo.Description} ({interfaceInfo.Id})"); try { Trace.WriteLine($"Turn off: {NativeWifi.TurnOffInterfaceRadio(interfaceInfo.Id)}"); } catch (UnauthorizedAccessException) { Trace.WriteLine("Turn off: Unauthorized"); } } }
private static void ShowRadioInformation() { foreach (var interfaceInfo in NativeWifi.EnumerateInterfaces()) { Trace.WriteLine($"Interface: {interfaceInfo.Description} ({interfaceInfo.Id})"); var interfaceRadio = NativeWifi.GetInterfaceRadio(interfaceInfo.Id); if (interfaceRadio is null) { continue; } foreach (var radioSet in interfaceRadio.RadioSets) { Trace.WriteLine($"Type: {radioSet.Type}"); Trace.WriteLine($"HardwareOn: {radioSet.HardwareOn}, SoftwareOn: {radioSet.SoftwareOn}, On: {radioSet.On}"); } } }
private static void ShowInformation() { Trace.WriteLine("===== Usable Interfaces ====="); foreach (var interfaceInfo in NativeWifi.EnumerateInterfaces()) { Trace.WriteLine($"Interface: {interfaceInfo.Description} ({interfaceInfo.Id})"); } Trace.WriteLine("===== Usable Interface Connections ====="); foreach (var interfaceInfo in NativeWifi.EnumerateInterfaceConnections()) { Trace.WriteLine($"{{Interface: {interfaceInfo.Description} ({interfaceInfo.Id})"); Trace.WriteLine($" Connection: {interfaceInfo.ConnectionMode}"); Trace.WriteLine($" RadioOn: {interfaceInfo.IsRadioOn}"); Trace.WriteLine($" Connected: {interfaceInfo.IsConnected}"); Trace.WriteLine($" Profile: {interfaceInfo.ProfileName}}}"); } Trace.WriteLine("===== Available Network SSIDs ====="); foreach (var ssid in NativeWifi.EnumerateAvailableNetworkSsids()) { Trace.WriteLine($"SSID: {ssid}"); } Trace.WriteLine("===== Connected Network SSIDs ====="); foreach (var ssid in NativeWifi.EnumerateConnectedNetworkSsids()) { Trace.WriteLine($"SSID: {ssid}"); } Trace.WriteLine("===== Available Networks ====="); foreach (var network in NativeWifi.EnumerateAvailableNetworks()) { Trace.WriteLine($"{{Interface: {network.Interface.Description} ({network.Interface.Id})"); Trace.WriteLine($" SSID: {network.Ssid}"); Trace.WriteLine($" BSS: {network.BssType}"); Trace.WriteLine($" SignalQuality: {network.SignalQuality}"); Trace.WriteLine($" Security: {network.IsSecurityEnabled}}}"); } Trace.WriteLine("===== Available Network Groups ====="); foreach (var network in NativeWifi.EnumerateAvailableNetworkGroups()) { Trace.WriteLine($"{{Interface: {network.Interface.Description} ({network.Interface.Id})"); Trace.WriteLine($" SSID: {network.Ssid}"); Trace.WriteLine($" BssNetworks: {network.BssNetworks.Count}"); Trace.WriteLine($" SignalQuality: {network.SignalQuality}"); Trace.WriteLine($" LinkQuality: {network.LinkQuality}"); Trace.WriteLine($" Band: {network.Band} GHz"); Trace.WriteLine($" Channel: {network.Channel}}}"); } Trace.WriteLine("===== BSS Networks ====="); foreach (var network in NativeWifi.EnumerateBssNetworks()) { Trace.WriteLine($"{{Interface: {network.Interface.Description} ({network.Interface.Id})"); Trace.WriteLine($" SSID: {network.Ssid}"); Trace.WriteLine($" BSS: {network.BssType}"); Trace.WriteLine($" BSSID: {network.Bssid}"); Trace.WriteLine($" SignalStrength: {network.SignalStrength}"); Trace.WriteLine($" LinkQuality: {network.LinkQuality}"); Trace.WriteLine($" Frequency: {network.Frequency} KHz"); Trace.WriteLine($" Band: {network.Band} GHz"); Trace.WriteLine($" Channel: {network.Channel}}}"); } Trace.WriteLine("===== Network Profile Names ====="); foreach (var name in NativeWifi.EnumerateProfileNames()) { Trace.WriteLine($"Name: {name}"); } Trace.WriteLine("===== Network Profiles ====="); foreach (var profile in NativeWifi.EnumerateProfiles()) { Trace.WriteLine($"{{Name: {profile.Name}"); Trace.WriteLine($" Interface: {profile.Interface.Description} ({profile.Interface.Id})"); Trace.WriteLine($" SSID: {profile.Document.Ssid}"); Trace.WriteLine($" BSS: {profile.Document.BssType}"); Trace.WriteLine($" Authentication: {profile.Document.Authentication}"); Trace.WriteLine($" Encryption: {profile.Document.Encryption}"); Trace.WriteLine($" AutoConnect: {profile.Document.IsAutoConnectEnabled}"); Trace.WriteLine($" AutoSwitch: {profile.Document.IsAutoSwitchEnabled}"); Trace.WriteLine($" Position: {profile.Position}}}"); } Trace.WriteLine("===== Network Profile Radios ====="); foreach (var profile in NativeWifi.EnumerateProfileRadios()) { Trace.WriteLine($"{{Name: {profile.Name}"); Trace.WriteLine($" Interface: {profile.Interface.Description} ({profile.Interface.Id})"); Trace.WriteLine($" SSID: {profile.Document.Ssid}"); Trace.WriteLine($" RadioOn: {profile.IsRadioOn}"); Trace.WriteLine($" Connected: {profile.IsConnected}"); Trace.WriteLine($" SignalQuality: {profile.SignalQuality}"); Trace.WriteLine($" LinkQuality: {profile.LinkQuality}"); Trace.WriteLine($" Band: {profile.Band} GHz"); Trace.WriteLine($" Channel: {profile.Channel}}}"); } }
public static void Initialize(TestContext context) { _interfaceId = NativeWifi.EnumerateInterfaces() .Select(x => x.Id) .FirstOrDefault(); }
private static void ShowInformation() { Trace.WriteLine("[Usable Interfaces]"); foreach (var interfaceInfo in NativeWifi.EnumerateInterfaces()) { Trace.WriteLine($"Interface: {interfaceInfo.Description} ({interfaceInfo.Id})"); } Trace.WriteLine("[Available Network SSIDs]"); foreach (var ssid in NativeWifi.EnumerateAvailableNetworkSsids()) { Trace.WriteLine($"SSID: {ssid}"); } Trace.WriteLine("[Connected Network SSIDs]"); foreach (var ssid in NativeWifi.EnumerateConnectedNetworkSsids()) { Trace.WriteLine($"SSID: {ssid}"); } Trace.WriteLine("[Available Networks]"); foreach (var network in NativeWifi.EnumerateAvailableNetworks()) { Trace.WriteLine($"{{Interface: {network.Interface.Description} ({network.Interface.Id})"); Trace.WriteLine($" SSID: {network.Ssid}"); Trace.WriteLine($" BSS: {network.BssType}"); Trace.WriteLine($" Signal: {network.SignalQuality}"); Trace.WriteLine($" Security: {network.IsSecurityEnabled}}}"); } Trace.WriteLine("[BSS Networks]"); foreach (var network in NativeWifi.EnumerateBssNetworks()) { Trace.WriteLine($"{{Interface: {network.Interface.Description} ({network.Interface.Id})"); Trace.WriteLine($" SSID: {network.Ssid}"); Trace.WriteLine($" BSS: {network.BssType}"); Trace.WriteLine($" BSSID: {network.Bssid}"); Trace.WriteLine($" Signal: {network.SignalStrength}"); Trace.WriteLine($" Link: {network.LinkQuality}"); Trace.WriteLine($" Frequency: {network.Frequency}"); Trace.WriteLine($" Channel: {network.Channel}}}"); } Trace.WriteLine("[Network Profile Names]"); foreach (var name in NativeWifi.EnumerateProfileNames()) { Trace.WriteLine($"Name: {name}"); } Trace.WriteLine("[Network Profiles]"); foreach (var profile in NativeWifi.EnumerateProfiles()) { Trace.WriteLine($"{{Name: {profile.Name}"); Trace.WriteLine($" Interface: {profile.Interface.Description} ({profile.Interface.Id})"); Trace.WriteLine($" SSID: {profile.Ssid}"); Trace.WriteLine($" BSS: {profile.BssType}"); Trace.WriteLine($" Authentication: {profile.Authentication}"); Trace.WriteLine($" Encryption: {profile.Encryption}"); Trace.WriteLine($" Signal: {profile.SignalQuality}"); Trace.WriteLine($" Position: {profile.Position}"); Trace.WriteLine($" Automatic: {profile.IsAutomatic}"); Trace.WriteLine($" Connected: {profile.IsConnected}}}"); } }
private static void ShowInformation() { Trace.WriteLine("[Usable Interfaces]"); foreach (var interfaceInfo in NativeWifi.EnumerateInterfaces()) { Trace.WriteLine($"Interface: {interfaceInfo.Description} ({interfaceInfo.Id})"); } Trace.WriteLine(""); Trace.WriteLine("[Available Network SSIDs]"); foreach (var ssid in NativeWifi.EnumerateAvailableNetworkSsids()) { Trace.WriteLine($"SSID: {ssid}"); } Trace.WriteLine(""); Trace.WriteLine("[Connected Network SSIDs]"); foreach (var ssid in NativeWifi.EnumerateConnectedNetworkSsids()) { Trace.WriteLine($"SSID: {ssid}"); } Trace.WriteLine(""); Trace.WriteLine("[Available Networks]"); foreach (var network in NativeWifi.EnumerateAvailableNetworks()) { Trace.WriteLine($"{{Interface: {network.Interface.Description} ({network.Interface.Id})"); Trace.WriteLine($" SSID: {network.Ssid}"); Trace.WriteLine($" BSS: {network.BssType}"); Trace.WriteLine($" Signal: {network.SignalQuality}"); Trace.WriteLine($" Security: {network.IsSecurityEnabled}"); Trace.WriteLine($" Auth Algorithm: {network.AuthAlgorithm.ToString()}"); Trace.WriteLine($" Has Profile: {network.IsHasProfile} {(network.IsHasProfile ? "(" + network.ProfileName + ")" : network.ProfileName)}"); Trace.WriteLine($" Cipher Algorithm: {network.CipherAlgorithm.ToString()}}}"); var bssNetworks = NativeWifi.EnumerateBssNetworks(network); if (bssNetworks != null) { Trace.WriteLine("[Child BSS Networks]"); foreach (var bssNetwork in bssNetworks) { Trace.WriteLine($"{{BSSID: {bssNetwork.Bssid}"); Trace.WriteLine($" SSID: {bssNetwork.Ssid}"); Trace.WriteLine($" BSS: {bssNetwork.BssType}"); Trace.WriteLine($" Signal: {bssNetwork.SignalStrength}"); Trace.WriteLine($" Link: {bssNetwork.LinkQuality}"); Trace.WriteLine($" Frequency: {bssNetwork.Frequency}"); Trace.WriteLine($" Channel: {bssNetwork.Channel}}}"); } } } Trace.WriteLine(""); Trace.WriteLine("[BSS Networks]"); foreach (var network in NativeWifi.EnumerateBssNetworks()) { Trace.WriteLine($"{{Interface: {network.Interface.Description} ({network.Interface.Id})"); Trace.WriteLine($" SSID: {network.Ssid}"); Trace.WriteLine($" BSS: {network.BssType}"); Trace.WriteLine($" BSSID: {network.Bssid}"); Trace.WriteLine($" Signal: {network.SignalStrength}"); Trace.WriteLine($" Link: {network.LinkQuality}"); Trace.WriteLine($" Frequency: {network.Frequency}"); Trace.WriteLine($" Channel: {network.Channel}}}"); } Trace.WriteLine(""); Trace.WriteLine("[Network Profile Names]"); foreach (var name in NativeWifi.EnumerateProfileNames()) { Trace.WriteLine($"Name: {name}"); } Trace.WriteLine(""); Trace.WriteLine("[Network Profiles]"); foreach (var profile in NativeWifi.EnumerateProfiles()) { Trace.WriteLine($"{{Name: {profile.Name}"); Trace.WriteLine($" Interface: {profile.Interface.Description} ({profile.Interface.Id})"); Trace.WriteLine($" SSID: {profile.Document.Ssid}"); Trace.WriteLine($" BSS: {profile.Document.BssType}"); Trace.WriteLine($" Authentication: {profile.Document.Authentication}"); Trace.WriteLine($" Encryption: {profile.Document.Encryption}"); Trace.WriteLine($" AutoConnect: {profile.Document.IsAutoConnectEnabled}"); Trace.WriteLine($" AutoSwitch: {profile.Document.IsAutoSwitchEnabled}"); Trace.WriteLine($" Position: {profile.Position}"); Trace.WriteLine($" RadioOn: {profile.IsRadioOn}"); Trace.WriteLine($" Signal: {profile.SignalQuality}"); Trace.WriteLine($" Connected: {profile.IsConnected}}}"); } }