手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#使用ManagedWifi查看当前Wifi信号并选择wifi的示例
c#使用ManagedWifi查看当前Wifi信号并选择wifi的示例
摘要:使用ManagedWifi查看当前Wifi信号并选择wifi复制代码代码如下:usingSystem;usingSystem.Collect...

使用ManagedWifi查看当前Wifi信号并选择wifi

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using NativeWifi;

namespace WifiExample

{

class WifiManager

{

//CMCC的WIFISSID

public WIFISSID cmccWifiSSID;

public WifiManager()

{

ScanSSID();

}

/// <summary>

/// 将SSID转化成字符串

/// </summary>

static string GetStringForSSID(Wlan.Dot11Ssid ssid)

{

return Encoding.UTF8.GetString(ssid.SSID, 0, (int)ssid.SSIDLength);

}

/// <summary>

/// 枚举所有无线设备接收到的SSID

/// </summary>

public void ScanSSID()

{

WlanClient client = new WlanClient();

foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)

{

// Lists all networks with WEP security

Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList(0);

foreach (Wlan.WlanAvailableNetwork network in networks)

{

WIFISSID targetSSID = new WIFISSID();

targetSSID.wlanInterface = wlanIface;

targetSSID.wlanSignalQuality = (int)network.wlanSignalQuality;

targetSSID.SSID = GetStringForSSID(network.dot11Ssid);

targetSSID.dot11DefaultAuthAlgorithm = network.dot11DefaultAuthAlgorithm.ToString();

targetSSID.dot11DefaultCipherAlgorithm = network.dot11DefaultCipherAlgorithm.ToString();

Console.WriteLine(targetSSID.SSID);

if (targetSSID.SSID.ToLower().Equals("cmcc"))

{

cmccWifiSSID = targetSSID;

return;

}

}

}

} // EnumSSID

/// <summary>

/// 连接到CMCC

/// </summary>

/// <param name="ssid"></param>

public void ConnectToCMCC()

{

// Connects to a known network with WEP security

string profileName = cmccWifiSSID.SSID; // this is also the SSID

Console.WriteLine("profileName" + profileName);

cmccWifiSSID.wlanInterface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName);

}

/// <summary>

/// 字符串转Hex

/// </summary>

/// <param name="str"></param>

/// <returns></returns>

public static string StringToHex(string str)

{

StringBuilder sb = new StringBuilder();

byte[] byStr = System.Text.Encoding.Default.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)

for (int i = 0; i < byStr.Length; i++)

{

sb.Append(Convert.ToString(byStr[i], 16));

}

return (sb.ToString().ToUpper());

}

} // Class WifiManager

class WIFISSID

{

public string SSID = "NONE";

public string dot11DefaultAuthAlgorithm = "";

public string dot11DefaultCipherAlgorithm = "";

public bool networkConnectable = true;

public string wlanNotConnectableReason = "";

public int wlanSignalQuality = 0;

public WlanClient.WlanInterface wlanInterface = null;

}

}

```

调用链接CMCC

===

```

WifiManager wm = new WifiManager();

wm.ConnectToCMCC();

【c#使用ManagedWifi查看当前Wifi信号并选择wifi的示例】相关文章:

协定需要会话,但是绑定“BasicHttpBinding”不支持它或者因配置不正确而无法支持它

基于C# MBG 扩展方法类库的使用详解

C#跨窗体操作(引用传递) 实例代码

c# list部分操作实现代码

c# 应用事务的简单实例

C#难点逐个击破(4):main函数

C# 拓展方法的简单实例

c#进度条 progressBar 使用方法的小例子

PowerShell 定时执行.Net(C#)程序的方法

C# 禁止应用程序多次启动的实例

精品推荐
分类导航