在C#中管理无线网络连接

我们有一个用C#编写的WinForms应用程序,它有一个非常自定义的GUI。 不允许用户运行任何其他应用程序,用户根本无法进入操作系统(WinXP Pro)。 我们计划允许用户连接到可用的无线网络。 我们将不得不创建一个显示可用网络的配置屏幕(通过SSID)并允许用户连接。 连接时我们想要显示信号强度。

是否有任何现有组件提供此function? 除了这个,我什么都没找到。

我可以使用WMI设置TCP / IP设置,但这是我需要指导的无线内容。

非常感谢!

马特

托管的Wifi API应该可行。

这可能不太理想 – 你有XP,这是好的,但你必须部署一个修补程序。 我会去,因为我所处理的所有wifi代码(对于Compact Framework)都是可怕的。 这段代码很简单。

他们的示例代码不包括读取信号强度,但我不确定Native wifi API是否提供了这一点。 我已经编写了可以获得无线信号强度的C#代码,但它是通过PInvoking到仅在其设备上提供的制造商专用DLL中实现的。 您可能需要做类似的事情才能从PC的无线网卡中获取无线强度(这可能就是为什么在通用API中无法使用该function的原因)。

可以使用本机wifi连接可用的无线网络。

http://www.codeproject.com/KB/gadgets/SignalStrenghth.aspx

检查链接,这是我开发的。

我写了一个库,它是Managed Wifi之上的一个抽象层,它使用起来更方便一些。 你可以在GitHub上找到它 。