Введите Native Wifi.Wlan + WlanReasonCode, ошибка маршалинга невозможна.C#

Место общения программистов C#
Anonymous
Введите Native Wifi.Wlan + WlanReasonCode, ошибка маршалинга невозможна.

Сообщение Anonymous »

Хотел узнать ваше мнение об ошибке, которую я получаю при запуске кода добавления профиля Wi-Fi.

Теперь код, который вы видите, является примером, который я использую (поскольку я новичок в интерфейсе Wlan на C#).

Я пытаюсь добавить в свою программу возможность подключения к беспроводной сети, которая будет искать определенную беспроводную сеть, добавлять этот профиль к ПК и подключать его (проверка пингом – все работает, ура).
Пожалуйста, посмотрите на картинку ошибки: здесь
Я обнаружил, что если я удалю профиль Cheesecake из папки Windows, ошибка не произойдет. Это говорит мне о том, что ошибка может быть связана с тем, что профиль уже сохранен. Но не уверен.

К вашему сведению, я также прилагаю здесь свой пример кода. Будем благодарны за любую помощь.

Код: Выделить всё

    using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using NativeWifi;

namespace WIFI_CONTROL_EXAMPLE
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
lstNetworks.Items.Clear();
WlanClient client = new WlanClient();
foreach(WlanClient.WlanInterface wlanIface in client.Interfaces )
{
Wlan.WlanAvailableNetwork[]networks = wlanIface.GetAvailableNetworkList(0);
foreach (Wlan.WlanAvailableNetwork network in networks)
{
Wlan.Dot11Ssid ssid = network.dot11Ssid;
string networkName = Encoding.ASCII.GetString(ssid.SSID, 0, (int)ssid.SSIDLength);

ListViewItem item = new ListViewItem(networkName);
item.SubItems.Add(network.dot11DefaultCipherAlgorithm.ToString());
item.SubItems.Add(network.wlanSignalQuality + "%");
lstNetworks.Items.Add(item);

}

}

}

private void button2_Click(object sender, EventArgs e)
{
WlanClient client = new WlanClient();
foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
{

string profileName = "Cheesecake"; // this is also the SSID
string mac = "52544131303235572D454137443638";
string key = "hello";
string profileXml = string.Format("{0}{1}{0}ESSopenWEPfalsenetworkKey
false{2}0", profileName, mac, key);
wlanIface.SetProfile(Wlan.WlanProfileFlags.AllUser, profileXml, true);
wlanIface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName);
}

//string x = "";

//x = lstNetworks.SelectedItems[0].Text;
//foreach
//MessageBox.Show("you have selected " + x);
//string profileName = x;
//string profileXml = string.Format("{0}{0}falseESSmanualopenWEPfalse", profileName);
//wlanIface.SetProfile(Wlan.WlanProfileFlags.AllUser, profileXml, true);
//wlanIface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName);

}
}
}
спасибо,
Мэт


Подробнее здесь: https://stackoverflow.com/questions/316 ... aled-error

Вернуться в «C#»