コード例 #1
0
 public async void Scan()
 {
     await _windowManager.GuardedAsync(async() =>
     {
         await _wifiService.ScanAsync();
         WifiNetworks        = _wifiService.WifiNetworks;
         SelectedWifiNetwork = WifiNetworks.FirstOrDefault();
     });
 }
コード例 #2
0
        /// <summary>
        /// Click handler for the getWifiInfo button.
        /// </summary>
        /// <param name="sender">The caller of this method.</param>
        /// <param name="e">The arguments associated with this event.</param>
        private async void GetWifiInfo_Click(object sender, RoutedEventArgs e)
        {
            this.ClearOutput();
            this.EnableConnectionControls(false);
            this.EnableDeviceControls(false);

            StringBuilder sb = new StringBuilder();

            sb.Append(commandOutput.Text);
            sb.AppendLine("Getting WiFi interfaces and networks...");
            commandOutput.Text = sb.ToString();

            try
            {
                WifiInterfaces wifiInterfaces = await portal.GetWifiInterfacesAsync();

                sb.AppendLine("WiFi Interfaces:");
                foreach (WifiInterface wifiInterface in wifiInterfaces.Interfaces)
                {
                    sb.Append(" ");
                    sb.AppendLine(wifiInterface.Description);
                    sb.Append("  GUID: ");
                    sb.AppendLine(wifiInterface.Guid.ToString());

                    WifiNetworks wifiNetworks = await portal.GetWifiNetworksAsync(wifiInterface.Guid);

                    sb.AppendLine("  Networks:");
                    foreach (WifiNetworkInfo network in wifiNetworks.AvailableNetworks)
                    {
                        sb.Append("   SSID: ");
                        sb.AppendLine(network.Ssid);
                        sb.Append("   Profile name: ");
                        sb.AppendLine(network.ProfileName);
                        sb.Append("   is connected: ");
                        sb.AppendLine(network.IsConnected.ToString());
                        sb.Append("   Channel: ");
                        sb.AppendLine(network.Channel.ToString());
                        sb.Append("   Authentication algorithm: ");
                        sb.AppendLine(network.AuthenticationAlgorithm);
                        sb.Append("   Signal quality: ");
                        sb.AppendLine(network.SignalQuality.ToString());
                    }
                }
                ;
            }
            catch (Exception ex)
            {
                sb.AppendLine("Failed to get WiFi info.");
                sb.AppendLine(ex.GetType().ToString() + " - " + ex.Message);
            }

            commandOutput.Text = sb.ToString();
            EnableDeviceControls(true);
            EnableConnectionControls(true);
        }
コード例 #3
0
        private static async Task <Dictionary <string, string> > WifiNetworkToDico(Dictionary <string, string> returnedInfo, WifiInterfaces wifiInterfaces)
        {
            WifiNetworks wifiNetworkInfo = await GetInfo <WifiNetworks>(API_COMMAND_WIFI_NETWORKS, API_COMMAND_WIFI_NETWORKS_PARAMETER + wifiInterfaces.Interfaces[0].Guid);

            foreach (WifiNetworkInfo item in wifiNetworkInfo.AvailableNetworks)
            {
                if (item.IsConnected)
                {
                    returnedInfo.Add("Connected Wifi", item.Ssid);
                }
            }
            return(returnedInfo);
        }