如何以编程方式连接到 Windows 10 中的隐藏 SSID?

How do I connect to a hidden SSID in Windows 10 programmatically?

我在这上面花了很长时间,但还是卡住了。
我正在尝试以编程方式连接到已知的隐藏 SSID。

我正在使用以下代码

await firstAdapter.ScanAsync();

WiFiAvailableNetwork network = firstAdapter.NetworkReport.AvailableNetworks.FirstOrDefault(n => n.Ssid == ssid);

问题是我需要首先提供类型为 WiFiAvailableNetwork 的对象,但 AvailableNetworks 只会带回非隐藏的 SSID。

public IAsyncOperation<WiFiConnectionResult> ConnectAsync(WiFiAvailableNetwork availableNetwork, WiFiReconnectionKind reconnectionKind, PasswordCredential passwordCredential, String ssid)

https://docs.microsoft.com/en-us/uwp/api/windows.devices.wifi.wifiadapter.connectasync#Windows_Devices_WiFi_WiFiAdapter_ConnectAsync_Windows_Devices_WiFi_WiFiAvailableNetwork_Windows_Devices_WiFi_WiFiReconnectionKind_Windows_Security_Credentials_PasswordCredential_System_String_

以上代码与非隐藏 SSID 完美配合。
是否有 API 连接到隐藏的 SSID?
谢谢

如果可用,隐藏网络应该在 firstAdapter.NetworkReport.AvailableNetworks 列表中。

由于隐藏了 SSID,目标网络 WiFiAvailableNetworkSsid 属性 将是 ""

您可以在这里做出假设并尝试使用以下方式连接到它:

await firstAdapter.ConnectAsync(networks.First(x => x.Ssid == ""), WiFiReconnectionKind.Automatic, "password", "knownSSID");