Java通过Jnative调用windows API接口学习总结
来源:互联网 发布:英雄联盟单机版mac 编辑:程序博客网 时间:2024/06/05 00:55
前几天在做一个自动测试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
2.VC++玩转Native Wifi API
http://blog.csdn.net/lincyang/article/details/34430939/
3.Native wifi API使用 ,接口简介
http://blog.csdn.net/whatday/article/details/41518949
4.Native Wifi 中 WlanSetProfile 出现1206错误的几种可能及解决方法
http://blog.csdn.net/ytrock/article/details/48272371
5.C#编程使用Managed Wifi API连接无线SSID
http://blog.csdn.net/m593192219/article/details/9363355
关于JNATIVE使用:
1.JAVA调用DLL,Java调用DLL的常用方法
http://www.codeweblog.com/%E5%AD%A6%E4%B9%A0jna-jnative%E4%B8%AA%E4%BA%BA%E6%80%BB%E7%BB%93/
2.JNative使用深入解析——基本编程
http://fenger-chui.iteye.com/blog/1154435
关于DLL的封装
1.C/C++中生成和使用DLL
http://blog.sina.com.cn/s/blog_4aa8874401016vfe.html
2.C++ dll调用-动态(显式) 传参调用
http://www.cnblogs.com/lhbssc/archive/2012/02/08/2342853.html
- Java通过Jnative调用windows API接口学习总结
- java 通过jnative调用dll
- java通过JNative调用.dll文件
- JNative:JAVA调用DLL
- Java 通过JNative调用已经编写好的DLL
- JAVA调用动态链接库DLL之JNative学习
- JAVA调用动态链接库DLL之JNative学习
- JAVA调用动态链接库DLL之JNative学习
- JAVA 使用JNative调用DLL
- 学习JNA,Jnative个人总结
- 学习JNA,Jnative个人总结
- java 调用win32 api 学习总结
- java 调用win32 api 学习总结
- JAVA下调用Native API的利器——JNative(附调用win32 api--ShellExecuteEx()示例)
- Atitit 图像处理 调用opencv 通过java api attilax总结
- java调用windows API
- Java调用dll例子,JNative的使用
- 利用JNative实现Java调用动态库
- leetcode:sort:Largest Number(179)
- git reset revert 回退回滚取消提交返回上一版本
- webrtc所有平台下载编译步骤详细说明
- include的顺序
- Caffe学习笔记(四)——Windows 下caffe配置相关问题说明
- Java通过Jnative调用windows API接口学习总结
- Android自定义View-Matrix详解
- Android硬件加速以及【WebView】的onPause,onResume,OnDestroy
- Javascript—事件冒泡和事件捕获
- 代码笔记 | UDP编程实现
- SwipeRefreshLayout的使用方法
- leetcode:sort:Wiggle Sort II(324)
- 设备驱动的probe、remove以及shutdown的顺序
- easyui增删改查全部代码