Windows窗体c通过BSSID连接到特定的接入点



我有一个用c#编写的windows窗体。我制作了一个列表视图,可以查找并总结它可以检测到的每个wifi网络,并提供SSID、BSSID等。

我正在使用ManagedNativeWifi来获取有关wifi网络的所有信息。我正在寻找一种通过接入点的BSSID连接到特定接入点的方法。

使用以下代码可以连接到指定的SSID:

public static async Task<bool> ConnectAsync()
{
String SSID = "MyWiFiNetwork";
String BSSID = "E2-B4-F7-F7-FD-F8".Replace("-", ":"); // Currently not used...
var availableNetwork = NativeWifi.EnumerateAvailableNetworks()

.Where(x => !string.IsNullOrWhiteSpace(x.ProfileName))
.OrderByDescending(x => x.SignalQuality)
.FirstOrDefault();
if (availableNetwork is null)
return false;
return NativeWifi.ConnectNetwork(
interfaceId: availableNetwork.Interface.Id,
profileName: SSID,
bssType: BssType.Infrastructure
);  
}

但是,有没有一种方法可以连接BSSID而不是SSID?

对于任何看到这篇文章的人来说,我通过使用ManagedNativeWifi api使它发挥了作用。

public async Task<bool> ConnectAsync()
{
String BSSID = "MyWiFiNetwork";
String SSID = "E2-B4-F7-F7-FD-F8".Replace("-", "").ToUpper();
var availableNetwork = NativeWifi.EnumerateAvailableNetworks()
.Where(x => !string.IsNullOrWhiteSpace(x.ProfileName))
.OrderByDescending(x => x.SignalQuality)
.FirstOrDefault();
if (availableNetwork is null)
return false;
return NativeWifi.ConnectNetwork(
interfaceId: availableNetwork.Interface.Id,
profileName: SSID,
bssType: BssType.Infrastructure, System.Net.NetworkInformation.PhysicalAddress.Parse(BSSID));
}

最新更新