Native Wifi API (无线网卡编程)

在windows平台下,可以使用native wifi api来控制无线网卡,包括获取无线网卡参数,获取周围无线接入点参数等功能。 在windows xp sp2版本的系统上,使用需要下载一个KB918997补丁包才能支持, 下载地址如下:http://support.microsoft.com/kb/918997/en-us。 而在xp sp3、vista、win7等高版本操作系统中,已经包含了此库,所以可以直接使用。

native wifi 介绍:wifi应用程序接口(API)实现了对window操作系统中的wifi网络属性以及连接的管理,API成员通过自动配置模块(ACM)暴露给用户,以达到重写自动配置逻辑属性, 无线API是一个简化的面向对象的界面,用于创建、管理和使用ad hoc网络,ad hoc API使用native wifi API,这意味着ad hoc API调用可以触发本地Wifi通知,反之亦然。 两者混合式不推荐的,在设计应用程序之前,开发人员应该选择一个编程的方法。如果您的应用程序使用或管理的基础设施网络或者需要配置文件管理功能,您应该使用本地Wifi的API。 否则使用Wireless Ad Hoc API。

ACM结构:ACM是继xp系统中的Wireless Zero Configuration(WZC)服务的替代,首次在vista系统得到使用,因此,它是一种新型的无线网络组件。ACM周期性的扫描网络, 当存在一个能够自动连接的网络接口的时候,重复选择和连接范围内的首选网络。同时能够保存和检索网络属性(包含ACM MSM IHV 以及安全属性)。 自动配置支持全球和每个接口的设置和网络配置文件,在域或者组织单位的组策略对象在AD组织结构中,这些组策略设置和配置文件是只读的,应用到系统中的每个802.11接口, 总是优先于每个接口和每个用户的设置和网络配置文件,组策略配置文件是放在每802.11个网络接口的首选网络配置文件列表的顶部,ACM是可扩展的, ihv(独立硬件厂商)可以实现专有无线功能而不改变提供了本地802.11框架。

  枚举无线接口 WlanEnumIntefaces

  获取接口的功能 GetInterfaceCapability

  查询接口 : WlanQueryInterface

  设置网络接口参数: WlanSetInterface

  扫描可用的无线网络: WlanScan

  

  获取可用可见的无线网络的清单: WlanGetAvaliableNetworkList

  获取保存删除网络配置文件 : WlanGetProfile  WlanSetProfile WlanDeleteProfile

  连接货主断开网络连接: WlanConnect   WlanDisconnect

 

 

转载于:https://www.cnblogs.com/jackcin/p/3285357.html

要实现这一功能,首先需要了解Windows Native Wifi API提供的接口。Native Wifi API允许应用程序检索和配置无线网络接口的状态信息,并且能够监控无线网络事件。对于您的需求,重点需要掌握以下几个函数:`WlanGetAvailableNetworkList`用于获取无线网卡的可用网络列表,而`WlanRegisterNotification`函数用于监听网络状态的变化。 参考资源链接:[C++使用Windows Native Wifi API实战:控制无线网卡](https://wenku.csdn.net/doc/1dsduhoog4?spm=1055.2569.3001.10343) 在C++中使用`WlanGetAvailableNetworkList`函数,你可以通过传入正确的参数来获取当前无线网卡能够检测到的所有可用无线网络的详细信息。这个函数返回一个包含多个`WLAN_AVAILABLE_NETWORK`结构体的列表,每个结构体描述了一个可用网络。通过这个列表,你可以检查和选择特定的无线网络进行连接,或者根据信号强度等信息为用户展示最佳的连接选项。 为了实时监听无线网络的变化,你可以使用`WlanRegisterNotification`函数来注册通知回调。这个函数允许应用程序接收无线网络事件的通知,如网络连接、断开或信号强度变化等。当无线网络的状态发生变化时,系统会调用你的回调函数,并传入一个`WLAN_NOTIFICATION_DATA`结构体,它包含了事件类型和其他相关信息。 实际编程中,你需要使用`WlanOpenHandle`函数来打开一个到 WLAN 服务的句柄,然后才能使用上述提到的其他函数。此外,还需要确保你的应用程序有足够的权限来访问 WLAN 服务。 为了更好地理解和实现这一过程,建议参考以下资源:《C++使用Windows Native Wifi API实战:控制无线网卡》。这本书籍详细介绍了如何在C++中使用Windows Native Wifi API来控制无线网卡,包括连接和断开连接,获取可用网络列表,以及监听无线网络状态等操作。通过阅读本书,你可以获得从基础到高级应用的全面知识,并掌握如何在实际项目中运用这些API。 参考资源链接:[C++使用Windows Native Wifi API实战:控制无线网卡](https://wenku.csdn.net/doc/1dsduhoog4?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值