Проблема с подключением к WiFi-модему Visual Studio C#

148
22 декабря 2019, 01:40

В общем, делаю лабораторную работу в университете, программа для Windows, с поиском сетей интернет и дальнейшего подключения к ним, сети находит, подключается, но когда встаёт вопрос подключения к режиму модема телефона (а-ля iPhone (Александр)) программа перестаёт выполнять сценарий ( бессмысленно нажимаю на кнопку подключиться и ничего не происходит ). Спасибо всем, кто отзовётся помочь мне!

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using NativeWifi;
using SimpleWifi;
namespace IvanovMRLab2
{
    public partial class Form1 : Form
    {
        private static Wifi wifi;
        List<AccessPoint> aps;
        public Form1()
        {
            InitializeComponent();
        }
        private void btnRefresh_Click(object sender, EventArgs e)
        {
            buttonCON.Enabled = false;
            listNet.Items.Clear();
            comboBox1.Items.Clear();
            wifi = new Wifi();
            aps = wifi.GetAccessPoints();
            WlanClient client = new WlanClient();
            foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
            {
                Wlan.WlanAvailableNetwork[] wlanBssEntries = wlanIface.GetAvailableNetworkList(0);
                listNet.Items.Clear();
                foreach (Wlan.WlanAvailableNetwork network in wlanBssEntries)
                { 
                    ListViewItem listItemWifi = new ListViewItem();
                    listItemWifi.Text = System.Text.Encoding.UTF8.GetString(network.dot11Ssid.SSID).Trim((char)0);
                    listItemWifi.SubItems.Add(network.wlanSignalQuality.ToString() + "%");
                    listItemWifi.SubItems.Add(network.dot11DefaultAuthAlgorithm.ToString().Trim((char)0));
                    listItemWifi.SubItems.Add(network.dot11DefaultCipherAlgorithm.ToString().Trim((char)0));
                    listItemWifi.ImageIndex = 0;
                    listNet.Items.Add(listItemWifi);
                    comboBox1.Items.Add(listItemWifi.Text);
                }
            }
            lbl_Status.Visible = true;
            comboBox1.Visible = true;
            textBox1.Visible = true;
            buttonCON.Visible = true;
        }
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            buttonCON.Enabled = true;
        }
        private void buttonCF_Click(object sender, EventArgs e)
        {
            if (wifi.ConnectionStatus == WifiStatus.Connected)
            {
                wifi.Disconnect();
                lbl_Status.Text = "Соединение разорвано.";
            }
        }
        private bool connectToWifi(AccessPoint ap, string password)
        {
            AuthRequest authRequest = new AuthRequest(ap);
            authRequest.Password = password;
            return ap.Connect(authRequest);
        }
        private void buttonCON_Click(object sender, EventArgs e)
        {
           if (comboBox1.SelectedIndex >= 0)
             {
                 foreach (AccessPoint ap in aps)
                 {
                     if (comboBox1.SelectedItem.ToString() == ap.Name)
                     {
                         if (ap.IsSecure)
                         {
                             if (textBox1.Text.Length > 7)
                             {
                                 if (connectToWifi(ap, textBox1.Text))
                                 {
                                     lbl_Status.Text = "Подключение успешно.";
                                     buttonCF.Visible = true;
                                     buttonCF.Enabled = true;
                                 }
                                 else
                                     lbl_Status.Text = "Не удалось подключиться.";
                             }
                             else
                                 lbl_Status.Text = "Введите пароль ( =< 8 символов)";
                         }
                         else
                         {
                             if (connectToWifi(ap, "12345678"))
                             {
                                 lbl_Status.Text = "Подключение успешно.";
                                 buttonCF.Visible = true;
                                 buttonCF.Enabled = true;
                             }
                             else
                                 lbl_Status.Text = "Не удалось подключиться.";
                         }
                     }
                 }
             }
             else
                 lbl_Status.Text = "Выберите сеть для подключения.";
        }
        private void listNet_SelectedIndexChanged(object sender, EventArgs e)
        {
        }
    }
}
READ ALSO
Задача на наследование C#

Задача на наследование C#

Создать такую иерархию классов A, B и C, чтобы код ниже компилировался и выводил текст "ABC"

145
Word. Как получить Заголовки С#

Word. Как получить Заголовки С#

Использую MicrosoftOffice

139
Интерфейс с атрибутом

Интерфейс с атрибутом

Можно ли использовать атрибуты с интерфейсами, так что бы реализующий класс имел метод с таким же атрибутом ?

128