之前学习Python的过程中学过基于pywifi模块操作wifi连接的用法,在dotnet中,SimpleWifi也支持类似的功能。SimpleWifi是C#语言编写的在Windows系统中管理wifi连接的库,它抽象并封装了Managed Wifi API中的wifi操作相关函数,更易于使用。
   SimpleWifi的GitHub地址见参考文献1-2,其自带的示例程序(参考文献3)是控制台程序,展示了基于SimpleWifi模块获取可用wifi列表、连接wifi、断开wifi、获取wifi状态等操作的基本用法。
   本文学习SimpleWifi自带的控制台示例程序,并创建Winform程序测试simplewifi的基本用法。SimpleWifi中的主要类包括Wifi和AccessPoint,其中Wifi类包括主要的wifi连接操作,常用函数/属性/事件如下表所示:
| 序号 | 函数/属性/事件 | 说明 | 
|---|---|---|
| 1 | NoWifiAvailable | 是否有可用的无线接入点,该值为true,则GetAccessPoints返回空集合 | 
| 2 | GetAccessPoints | 获取所有可用的无线接入点,返回AccessPoint对象集合 | 
| 3 | Disconnect | 断开所有已连接的无线接入点 | 
| 4 | ConnectionStatus | 返回当前的连接状态,主要包括Connected和Disconnected两个值 | 
| 5 | ConnectionStatusChanged | wifi连接状态发生变化时触发该事件 | 
AccessPoint类代表无线接入点,一个实例对应一个无线接入点,常用函数/属性/事件如下表所示:
| 序号 | 函数/属性 | 说明 | 
|---|---|---|
| 1 | Name | 无线接入点名称 | 
| 2 | SignalStrength | 无线接入点的信号强度,数值型,数值越大,信号越强 | 
| 3 | HasProfile | 标识计算机是否保存有当前无线接入点的配置信息(名称、密码等) | 
| 4 | IsSecure | 无线接入点是否安全? | 
| 5 | IsConnected | 无线接入点是否处于连接状态 | 
| 6 | IsValidPassword | 验证密码是否有效 | 
| 7 | Connect | 连接当前无线接入点 | 
| 8 | ConnectAsync | 异步连接当前无线接入点 | 
  基于上述函数,编写了基于Winform的测试函数,在项目中添加simplewifi的NuGet引用。
 
   测试程序的主要功能就是获取wifi列表、断开wifi连接、连接指定wifi,代码比较简单,就不列在文章里面了(有兴趣的可以直接到参考文献3中学习simplewifi的示例代码),仅列出测试程序的主要功能截图,如下所示:
 
 
 
 
参考文献:
 [1]https://github.com/mahdi-ataollahi/simplewifi
 [2]https://github.com/DigiExam/simplewifi
 [3]https://github.com/DigiExam/simplewifi/blob/master/SimpleWifi/Wifi.cs


















