学习wifi操作模块simplewifi的基本用法

news2024/12/26 23:08:08

  之前学习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连接操作,常用函数/属性/事件如下表所示:

序号函数/属性/事件说明
1NoWifiAvailable是否有可用的无线接入点,该值为true,则GetAccessPoints返回空集合
2GetAccessPoints获取所有可用的无线接入点,返回AccessPoint对象集合
3Disconnect断开所有已连接的无线接入点
4ConnectionStatus返回当前的连接状态,主要包括Connected和Disconnected两个值
5ConnectionStatusChangedwifi连接状态发生变化时触发该事件

  AccessPoint类代表无线接入点,一个实例对应一个无线接入点,常用函数/属性/事件如下表所示:

序号函数/属性说明
1Name无线接入点名称
2SignalStrength无线接入点的信号强度,数值型,数值越大,信号越强
3HasProfile标识计算机是否保存有当前无线接入点的配置信息(名称、密码等)
4IsSecure无线接入点是否安全?
5IsConnected无线接入点是否处于连接状态
6IsValidPassword验证密码是否有效
7Connect连接当前无线接入点
8ConnectAsync异步连接当前无线接入点

  基于上述函数,编写了基于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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

词向量与语言模型

本篇博客是对于 https://www.cnblogs.com/nickchen121/p/15105048.html#%E7%AC%AC%E4%B8%80%E7%AF%87-transformergptbert%E9%A2%84%E8%AE%AD%E7%BB%83%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E7%9A%84%E5%89%8D%E4%B8%96%E4%BB%8A%E7%94%9F%E7%90%86%E8%AE%BA的归纳 先来了解一…

django,uwsgi,nginx部署配置要点整理

注意: 1.只对关键点进行整理: 2.python_test是项目名称 环境: python:v3.10.9 1.部署前,执行 python manage.py check --deploy 根据提示进行部署检查,调整,ssl相关的可以不做调整 2.settings.py最终版…

Java的类型擦除与泛型的关系

在讨论类型擦除之前,我们必须先来了解一下java的泛型。所谓的泛型就是参数化的类型。这就意思着我们可以具体的类型作为一个参数传递给方法、类、接口。 为什么我们需要泛型呢?首先我们都知道在java里,Object就是对象的父类。Object可以引用…

收集两篇关于前端不错的文章

深以为然! 为什么我建议前端框架优先选 Vue 而不是 React https://acejoy.com/2022/03/10/675/ 我两者都用过比较长的时间。网上各种“为什么我选React放弃了Vue”或者“为什么我选Vue放弃了React”之类的文章很多,实际都没什么用,必须要真…

Windows使用Paddle训练好的模型进行OpenVino推理引擎下的部署

目录一. Openvino下载二. 准备模型2.1 导出Paddle Inference模型2.2 转换为ONNX模型2.3 转换为ONNX模型2.3.1 获取部署代码2.3.2 环境准备2.3.3 编译一. Openvino下载 根据Paddle官方的描述,当前检测模型转换为openvino格式是有问题的,暂时只支持分割和…

docker部署常用服务器(redis,nginx,mysql,tomcat)

docker部署服务器docker部署redisdocker部署nginxdocker部署mysqldocker部署tomcatdocker部署redis 参考这篇博客,写的很详细 docker部署nginx 1.搜索镜像 docker search nginx 2.拉取镜像(不写版本默认拉取最新版) docker pull nginx 3.查看镜像是否拉取成功 docke…

Kafka-生产者基本使用

一、生产者原理 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。 在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka B…

Ae 案例:制作粒子空间穿梭动画

本文介绍使用 Ae 插件 Stardust 制作粒子空间穿梭动画的一般方法与步骤。示例视频1、新建合成。持续时间:10 秒。2、新建纯色图层,命名为“Stardust”,然后添加 Stardust 效果。3、再新建一个纯色图层,命名为“Mask”。使用矩形工…

php宝塔搭建部署实战易优宠物用品网站源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套php开发的易优宠物用品网站源码,感兴趣的朋友可以自行下载学习。 技术架构 PHP7.2 nginx mysql5.7 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码,宝…

SpringBoot集成Swagger,前后端接口文档解决方案

一个不断在迭代的项目,Controller层与POJO层肯定会是经常变动的,在目前前后端分离的大环境背景下有一份接口文档可以极大减少项目组成员之间的交流成本,也能支持自动化测试,但靠人工维护该文档总是不够稳妥,因此我们可…

23.1.21打卡 CF-1782D Many Perfect Squares

Problem - D - Codeforces 题外话: 痛苦的 C大模拟写不出D题数论我是真菜没想到, 泪目 -------------------------------------------------------------------------------------------------------------------------------- 先抛开这题, 我们先探究下平方数的规律 1 …

容器虚拟化技术Docker(三)DockerFile、Docker部署微服务、Docker-compose容器编排、Docker监控

容器虚拟化技术Docker(三)DockerFile、Docker部署微服务、Docker-compose容器编排、Docker监控 不熟悉的docker的可以参考: 容器虚拟化技术Docker(一)简介、安装、常见命令、数据卷、安装常规软件 容器虚拟化技术Do…

QSslSocket::supportsSsl()返回false问题解决

1.问题的提出今天研究Qt官方自带的有关QSslSocket类用法的例子。该例子存放在Qt安装目录下的Examples\Qt-XX.XX.XX\network\securesocketclient其中XX.XX.XX为Qt的版本号,如:5.14.1。在main函数QSslSocket::supportsSsl()返回false,如下&…

浅析RecyclerView预加载RV-Prefetch 机制

浅析RecyclerView预加载RV-Prefetch 机制 UI渲染基本流程(UI-Thread,Render-Thread,SurfaceFlinger)(硬件加速开启) 当系统V-Sync信号来临时,会唤醒主线程,回调编舞者Choreographer#FrameDisplayEventReceiver#onVsync()开始这一…

HPC Game小结

PART 1 - 基础知识 一、文件读取 a. 二进制文件 mmap https://stackoverflow.com/questions/44553907/mmap-sigbus-error-and-initializing-the-file fread fwrite //readFILE* fi;if(fi fopen("input.bin", "rb")){fread(&p, sizeof(int), 1, fi)…

JVM调优实战——jvm常用参数及方法

一、创建会内存溢出的程序 pom&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma…

Q_DISABLE_COPY、Q_DISABLE_MOVE、Q_DISABLE_COPY_MOVE用法详解及总结

1.前言在编程中&#xff0c;会用到某些资源&#xff0c;这些资源有的在整个应用程序期间是唯一的&#xff1b;是不能通过拷贝、赋值的方法存在多份的&#xff0c;如STL的std::unique_ptr指针指向的资源。现实中这样的资源有&#xff1a;文件指针、串口句柄等。试想如果存在多个…

TVM: End-to-End Optimization Stack for Deep Learning论文阅读

摘要 很多目前最为流行的深度学习框架&#xff0c;如 TensorFlow、MXNet、Caffe 和 PyTorch&#xff0c;支持在有限类型的服务器级 GPU 设备上获得加速&#xff0c;这种支持依赖于高度特化、供应商特定的 GPU 库。然而&#xff0c;专用深度学习加速器的种类越来越多&#xff0…

数据库系统概念 | 第四章:中级SQL

文章目录&#x1f4da; 连接表达式&#x1f407; 自然连接&#x1f407; 连接条件&#x1f955;natural条件&#x1f955;using 条件&#x1f955;on 条件&#x1f407; 内连接和外连接&#x1f955; 内连接inner join&#x1f955; 外连接outer join&#x1f343; 左外连接lef…

Web 应用渗透测试 00 - 信息收集

背景 这个系列写 Web 应用渗透测试相关的内容。此篇从信息收集开始&#xff0c;看一下 Web 应用端有哪些方面的信息值得渗透测试者去收集&#xff0c;能对后续的行动产生积极的影响。 Web 应用渗透测试 - 信息收集 security.txt 这个文件包含了网站的漏洞披露的联系方式。如…