Java通过Jnative调用windows API接口学习总结

本文总结了作者使用Java通过Jnative调用Windows WLANAPI接口以实现自动测试WiFi性能工具的过程。首先,由于Java缺少相关接口,通过C++对Windows API进行封装,再利用Jnative进行调用。在发布时遇到DLL识别问题,解决方案是将DLL打包到工具目录。文章引用了多个参考资料,包括C#和VC++使用WLANAPI的教程以及JNative的使用解析。
摘要由CSDN通过智能技术生成

前几天在做一个自动测试wifi性能的工具,由于之前没做过,于是在万能的互联网找各种资料,折腾了几天,总算是做出来了。

在这里算是整理总结一下吧。

工具是在netbeans上开发的,用java写的。我要实现的功能是去获取电脑网卡中的wifi列表,然后逐个自动连接,测试,断开,连接下一个。

由于java并没有封装wlan相关的接口,于是需要去调用windows API的接口;但是又不能直接去调用,需要通过JNATIVE去调。

一开始我直接通过jnative去调windows WLAN的接口,但是有个问题,从Java传参到windows API接口很容易出错。于是又换了个方法,先用C++对windows WLANAPI接口进行一层封装,参数设为java层容易识别的参数,比如string,int等,然后再通过jnative去调我们封装好的方法。


补充一点:在发布软件的时候,如果在没有安装VS的电脑上,会识别不到我们生成的DLL文件从而导致报异常。这个问题我们可以这么解决:将C++生成DLL的项目包拷到工具目录下,然后再Java层修改,让它直接去调用项目包下的dll文件。


以下是我找的一些比较有用的资料:

关于wlanapi的:

0.最有用的资料,微软的windows API接口说明
https://msdn.microsoft.com

1.C#使用Managed Wifi API连接带密码的SSID .
http://blog.csdn.net/much0726/article/details/50686465

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值