如何枚举所有可用的无线网络并将其显示在ListBox中?

时间:2011-07-23 15:50:20

标签: c# .net windows winapi wireless

我对C#有疑问。如何使用C#中的计算机找到的那些无线网络填充列表框?

2 个答案:

答案 0 :(得分:10)

您需要拨打WlanGetAvailableNetworkList function

这将填写WLAN_AVAILABLE_NETWORK_LIST structure,其中包含有关指定界面上可用的所有无线网络的信息。

完成后,只需迭代数组并将每个无线网络添加到ListBox控件即可。

此API自Windows XP SP3起可用,并且可以使用Wireless LAN API为运行XP SP2的客户端重新发布。

而不是自己编写P / Invoke定义,你可以调查Managed Wifi API,这是一个.NET类库,它已经为你包装了大部分这些本机函数。

答案 1 :(得分:4)

使用刚刚包含Native Wifi Api的Managed Wifi API。获取SSID列表非常容易。你想要的方法是

WlanInterface.GetAvailableNetworkList

只包裹WlanGetAvailableNetworkList

从那里你可以将它们放入ListBox