开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 14999|回复: 32
收起左侧

[易语言纯源码] Wlan API开发说明

[复制链接]
结帖率:100% (2/2)
发表于 2015-2-13 17:02:50 | 显示全部楼层 |阅读模式   福建省泉州市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 宇智波·佐助 于 2015-2-20 12:47 编辑


关于Wlan API开发,看了很多文档,发现易语言在这方面没有详细的开发说明与接入。(可能跟Windows上的无线使用有关系)接下来我给大家大概说明一下,首先我们先认识一下,所需的几个API函数


‘ 打开无线网卡                          WlanOpenHandle
       参数
             dwClientVersion:系统版本(分为Vista系统版本以上,对应值为2,Vista系统版本以下,对应值为1)
             pReserved:此参数在MSDN中也未介绍是什么意思,只能从字面上理解为保存,其值为0
             pdwNegotiatedVersion:打开网卡后所返回的会话ID,在整个的操作操作中都需要次参数,这个值通常是最高版本支持的客户Duan和                                                  服务器
             phClientHandle:正常打开网卡后所返回的网卡句柄

‘ 枚举无线接口                          WlanEnumIntefaces
      参数
             hClientHandle:通过打开网卡后所返回的网卡句柄
             pReserved:很抱歉,此参数在MSDN中也未查找到是什么意思,在此我也不做任何的说明
             ppInterfaceList:返回无线接口列表指针(因为易语言的关系只能通过传指针的方式,不然是返回一个WLAN_INTERFACE_INFO的数据结构,其中InterfaceGuid为无线网卡的GUID,strInterfaceDescription为无线网卡的描述,enum为无线网卡的状态)

‘ 获取保存下来的无线配置文件     WlanGetProfileList
      参数
             hClientHandle:通过打开网卡后所返回的网卡句柄
             pInterfaceGuid:无线网卡的GUID(换句说就是无线网卡的物理地址)
             pReserved:同WlanOpenHandle中的pReserved一样,其值为0
             ppProfileList:返回无线接口列表指针(因为易语言的关系只能通过传指针的方式,不然是返回一个WLAN_PROFILE_INFO的数据结构,,其中strProfileName为配置文件中的无线名称,dwFlags为一个标识位,其值为0)
            
‘ 刷新附近的无线网络                 WlanScan
       参数
             hClientHandle:通过打开网卡后所返回的网卡句柄
             pInterfaceGuid:无线网卡的GUID(换句说就是无线网卡的物理地址)
             pDot11Ssid:指定要扫描的网络SSID,此值是为空的,所以不用填写,即0就可以了
             pIeData:一个包含信息探测的指针,此值的内容为空,所以不用填写,即0就可以了
             pReserved:一个预览的值,为空

‘ 指定网卡获取附近无线网络信息    WlanGetAvailableNetworkList
       参数
              hClientHandle:通过打开网卡后所返回的网卡句柄
              pInterfaceGuid:无线网卡的GUID(换句说就是无线网卡的物理地址)
              dwFlags:返回列表中的一组控制网络类型标志,我们设定为1(0x00000002),扫描所有的网络
              pReserved:保留供将来使用
              ppAvailableNetworkList:返回一个无线列表的指针(因为易语言的关系只能通过传指针的方式,不然是返回一个WLAN_AVAILABLE_NETWORK_LIST的数据结构,,其中strProfileNam为无线名称,wlanSignalQuality无线信号值,dot11Ssid_ucSSID为无线SSID,其他信息,大家自己查一下MSDN吧,因为开发需要我就翻译了这三个。)

              
            


   介绍了这么多的API函数,我们接下来讲解一下源码
通过汇编的“83, 51, 192, 100, 139, 29, 24, 0, 0, 0, 100, 139, 13, 48, 0, 0, 0, 133, 201, 120, 12, 139, 137, 164, 0, 0, 0, 131, 249, 6, 114, 1, 64, 91, 139, 229, 93, 195 ”的机器码来判断系统版本是否为Vista版本以上或以下。通过WlanOpenHandle打开网卡获取到网卡句柄后,通过此句柄利用WlanEnumInterfaces函数获取到本地无线网卡列表。易语言的关系,我们只能通过指针方式利用RtlMoveMemory(内存拷贝)函数,内存数据复制到WLAN_INTERFACE_INFO结构中
此例子就是一个打开网卡的例子。剩下的我就不多说了,附上源码,大家学习一下吧。


源码下载
网卡操作.rar (5.58 KB, 下载次数: 124)

评分

参与人数 1精币 +1 收起 理由
woaifamily + 1 感谢分享,很给力!~

查看全部评分


结帖率:100% (19/19)

签到天数: 1 天

发表于 2020-11-1 20:53:17 | 显示全部楼层   重庆市重庆市
这个源码取的WALN列表只能取第一个剩下的都是第一个;改造后;或者是不改造都会出现中文WIFI乱码情况
回复 支持 反对

使用道具 举报

发表于 2018-7-24 12:51:39 | 显示全部楼层   山东省潍坊市
          。
回复 支持 反对

使用道具 举报

发表于 2018-7-24 12:51:14 | 显示全部楼层   山东省潍坊市
谢谢分享!
回复 支持 反对

使用道具 举报

发表于 2016-1-14 23:59:42 | 显示全部楼层   浙江省杭州市
非常感谢,学习啦,
回复 支持 反对

使用道具 举报

结帖率:57% (13/23)

签到天数: 9 天

发表于 2015-3-10 23:22:47 | 显示全部楼层   上海市上海市
谢谢分享                       
回复 支持 反对

使用道具 举报

结帖率:0% (0/4)
发表于 2015-3-6 00:41:31 | 显示全部楼层   上海市上海市
多谢楼主分享!
回复 支持 反对

使用道具 举报

结帖率:95% (223/235)

签到天数: 4 天

发表于 2015-2-23 14:11:21 | 显示全部楼层   山东省烟台市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:9% (1/11)
发表于 2015-2-20 16:35:59 | 显示全部楼层   辽宁省鞍山市
Wlan API开发说明
回复 支持 反对

使用道具 举报

结帖率:78% (46/59)

签到天数: 6 天

发表于 2015-2-20 12:25:04 | 显示全部楼层   广东省汕头市
老规矩,先回后下!!!!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表