我们有一个用C#编写的WinForms应用程序,具有非常定制化的GUI界面。用户不允许运行其他应用程序,也不能进入操作系统(WinXP Pro)。我们计划允许用户连接可用的无线网络。我们将需要创建一个配置屏幕,显示可用网络(按SSID),并允许用户连接。在连接时,我们想要显示信号强度。
是否有任何现有组件提供此功能?我没有找到任何东西,除了这个。
我可以使用WMI设置TCP/IP设置,但需要一些关于无线部分的指导。
非常感谢!
Matt
我们有一个用C#编写的WinForms应用程序,具有非常定制化的GUI界面。用户不允许运行其他应用程序,也不能进入操作系统(WinXP Pro)。我们计划允许用户连接可用的无线网络。我们将需要创建一个配置屏幕,显示可用网络(按SSID),并允许用户连接。在连接时,我们想要显示信号强度。
是否有任何现有组件提供此功能?我没有找到任何东西,除了这个。
我可以使用WMI设置TCP/IP设置,但需要一些关于无线部分的指导。
非常感谢!
Matt
Managed Wifi API 应该可以使用。
可能不是最理想的选择 - 因为您使用的是 XP,但您需要部署一个热补丁。我会选择这个API,因为我处理过的所有无线网络代码 (用于 Compact Framework) 都非常难以理解。而这个API的代码却非常简单明了。
然而,他们的示例代码并未包括读取信号强度的功能,我也不确定本地 wifi API 是否提供此功能。我曾编写过 C# 代码来获取无线信号强度,但这是通过 PInvoke 调用制造商特定的 DLL 来实现的,而该 DLL 仅适用于他们的设备。所以您可能需要类似的方法才能从PC的无线网卡中获取无线强度 (这也可能是为什么通用API中没有这个功能的原因)。
我写了一个库,它是在托管Wifi之上的一层抽象,使用起来更加方便。你可以在GitHub上找到它。