基本信息
源码名称:C#,Wifi搜索与连接,断开
源码大小:0.34M
文件格式:.zip
开发语言:C#
更新时间:2024-02-22
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
C#,Wifi搜索与连接,断开
public void ConnectToSSID()
{
try
{
ssid.wlanInterface.WlanConnectionNotification = WlanInterface_WlanConnectionNotification;
String auth = string.Empty;
String cipher = string.Empty;
bool isNoKey = false;
String keytype = string.Empty;
//Console.WriteLine("》》》《《" ssid.dot11DefaultAuthAlgorithm "》》对比《《" "Wlan.Dot11AuthAlgorithm.RSNA_PSK》》");
switch (ssid.dot11DefaultAuthAlgorithm)
{
case "IEEE80211_Open":
auth = "open"; break;
case "RSNA":
auth = "WPA2PSK"; break;
case "RSNA_PSK":
//Console.WriteLine("电子设计wifi:》》》");
auth = "WPA2PSK"; break;
case "WPA":
auth = "WPAPSK"; break;
case "WPA_None":
auth = "WPAPSK"; break;
case "WPA_PSK":
auth = "WPAPSK"; break;
}
switch (ssid.dot11DefaultCipherAlgorithm)
{
case "CCMP":
cipher = "AES";
keytype = "passPhrase";
break;
case "TKIP":
cipher = "TKIP";
keytype = "passPhrase";
break;
case "None":
cipher = "none"; keytype = "";
isNoKey = true;
break;
case "WWEP":
cipher = "WEP";
keytype = "networkKey";
break;
case "WEP40":
cipher = "WEP";
keytype = "networkKey";
break;
case "WEP104":
cipher = "WEP";
keytype = "networkKey";
break;
}
if (isNoKey && !string.IsNullOrEmpty(key))
{
Console.WriteLine(">>>>>>>>>>>>>>>>>无法连接网络!");
return;
}
else if (!isNoKey && string.IsNullOrEmpty(key))
{
Console.WriteLine("无法连接网络!");
return;
}
else
{
//string profileName = ssid.profileNames; // this is also the SSID
string profileName = ssid.SSID;
string mac = StringToHex(profileName);
profileName = profileName.Trim();
string profileXml = string.Empty;
if (!string.IsNullOrEmpty(key))
{
profileXml = string.Format("<?xml version=\"1.0\"?><WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\"><name>{0}</name><SSIDConfig><SSID><hex>{1}</hex><name>{0}</name></SSID></SSIDConfig><connectionType>ESS</connectionType><connectionMode>auto</connectionMode><autoSwitch>false</autoSwitch><MSM><security><authEncryption><authentication>{2}</authentication><encryption>{3}</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>{4}</keyType><protected>false</protected><keyMaterial>{5}</keyMaterial></sharedKey><keyIndex>0</keyIndex></security></MSM></WLANProfile>",
profileName, mac, auth, cipher, keytype, key);
}
else
{
profileXml = string.Format("<?xml version=\"1.0\"?><WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\"><name>{0}</name><SSIDConfig><SSID><hex>{1}</hex><name>{0}</name></SSID></SSIDConfig><connectionType>ESS</connectionType><connectionMode>auto</connectionMode><autoSwitch>false</autoSwitch><MSM><security><authEncryption><authentication>{2}</authentication><encryption>{3}</encryption><useOneX>false</useOneX></authEncryption></security></MSM></WLANProfile>",
profileName, mac, auth, cipher, keytype);
}
ssid.wlanInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, profileXml, true);
bool success = ssid.wlanInterface.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName, 15000);
if (!success)
{
Console.WriteLine("连接网络失败!");
return;
}
else
{
MessageBox.Show($"wifi:{profileName}连接成功");
//WifiOperate();
ssid.wlanInterface.DeleteProfile(profileName);
}
}
}
catch (Exception e)
{
Console.WriteLine("连接网络失败!");
return;
}
}
C#,Wifi搜索与连接,断开
public void ConnectToSSID()
{
try
{
ssid.wlanInterface.WlanConnectionNotification = WlanInterface_WlanConnectionNotification;
String auth = string.Empty;
String cipher = string.Empty;
bool isNoKey = false;
String keytype = string.Empty;
//Console.WriteLine("》》》《《" ssid.dot11DefaultAuthAlgorithm "》》对比《《" "Wlan.Dot11AuthAlgorithm.RSNA_PSK》》");
switch (ssid.dot11DefaultAuthAlgorithm)
{
case "IEEE80211_Open":
auth = "open"; break;
case "RSNA":
auth = "WPA2PSK"; break;
case "RSNA_PSK":
//Console.WriteLine("电子设计wifi:》》》");
auth = "WPA2PSK"; break;
case "WPA":
auth = "WPAPSK"; break;
case "WPA_None":
auth = "WPAPSK"; break;
case "WPA_PSK":
auth = "WPAPSK"; break;
}
switch (ssid.dot11DefaultCipherAlgorithm)
{
case "CCMP":
cipher = "AES";
keytype = "passPhrase";
break;
case "TKIP":
cipher = "TKIP";
keytype = "passPhrase";
break;
case "None":
cipher = "none"; keytype = "";
isNoKey = true;
break;
case "WWEP":
cipher = "WEP";
keytype = "networkKey";
break;
case "WEP40":
cipher = "WEP";
keytype = "networkKey";
break;
case "WEP104":
cipher = "WEP";
keytype = "networkKey";
break;
}
if (isNoKey && !string.IsNullOrEmpty(key))
{
Console.WriteLine(">>>>>>>>>>>>>>>>>无法连接网络!");
return;
}
else if (!isNoKey && string.IsNullOrEmpty(key))
{
Console.WriteLine("无法连接网络!");
return;
}
else
{
//string profileName = ssid.profileNames; // this is also the SSID
string profileName = ssid.SSID;
string mac = StringToHex(profileName);
profileName = profileName.Trim();
string profileXml = string.Empty;
if (!string.IsNullOrEmpty(key))
{
profileXml = string.Format("<?xml version=\"1.0\"?><WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\"><name>{0}</name><SSIDConfig><SSID><hex>{1}</hex><name>{0}</name></SSID></SSIDConfig><connectionType>ESS</connectionType><connectionMode>auto</connectionMode><autoSwitch>false</autoSwitch><MSM><security><authEncryption><authentication>{2}</authentication><encryption>{3}</encryption><useOneX>false</useOneX></authEncryption><sharedKey><keyType>{4}</keyType><protected>false</protected><keyMaterial>{5}</keyMaterial></sharedKey><keyIndex>0</keyIndex></security></MSM></WLANProfile>",
profileName, mac, auth, cipher, keytype, key);
}
else
{
profileXml = string.Format("<?xml version=\"1.0\"?><WLANProfile xmlns=\"http://www.microsoft.com/networking/WLAN/profile/v1\"><name>{0}</name><SSIDConfig><SSID><hex>{1}</hex><name>{0}</name></SSID></SSIDConfig><connectionType>ESS</connectionType><connectionMode>auto</connectionMode><autoSwitch>false</autoSwitch><MSM><security><authEncryption><authentication>{2}</authentication><encryption>{3}</encryption><useOneX>false</useOneX></authEncryption></security></MSM></WLANProfile>",
profileName, mac, auth, cipher, keytype);
}
ssid.wlanInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, profileXml, true);
bool success = ssid.wlanInterface.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName, 15000);
if (!success)
{
Console.WriteLine("连接网络失败!");
return;
}
else
{
MessageBox.Show($"wifi:{profileName}连接成功");
//WifiOperate();
ssid.wlanInterface.DeleteProfile(profileName);
}
}
}
catch (Exception e)
{
Console.WriteLine("连接网络失败!");
return;
}
}