@miivanov_r

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

В общем, делаю лабораторную работу в университете, программа для 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)
        {

        }
    }
}
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы