JNative的初步使用
来源:互联网 发布:排版软件 编辑:程序博客网 时间:2024/06/05 06:46
下载地址:
JNative_1.4RC2_src.zip : http://jaist.dl.sourceforge.net/sourceforge/jnative/JNative_1.4RC2_src.zip
JNative.jar : http://nchc.dl.sourceforge.net/sourceforge/jnative/JNative.jar
如果以上版本不能完成下载,说明版本有可能更新,请从以下地址中下载:
Resource URL: http://jnative.sourceforge.net/
Source Code: http://sourceforge.net/projects/jnative
Detailed Review: http://jnative.free.fr
JavaDOC: http://jnative.free.fr/docs/
JNative相对于其它同类开源组件的优点:
1.容易使用
2.对数据类型的处理做的出色
3.支持CallBack
下面以一个小Demo来学习一下JNative:
1.理解文件用途
JNative_1.4RC2_src.zip是JNative源代码的压缩包把它解压后从中找到libJNativeCpp.so和JNativeCpp.dll两个文件.JNativeCpp.dll应用在Windows平台下.把它放在c:\windows\system32目录下.libJNativeCpp.so应用在Linux平台下.放在哪个目录,这个我不知道.
把JNative.jar加入到所需的工程中.
把要调用的dll文件也放在c:\windows\system32目录下, 这个目录存在一个文件,
2.测试类
- package sms;
- import org.xvolks.jnative.JNative;
- import org.xvolks.jnative.exceptions.NativeException;
- import org.xvolks.jnative.pointers.Pointer;
- import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;
- public class SystemTime extends org.xvolks.jnative.util.Kernel32.SystemTime {
- public short wYear;
- public short wMonth;
- public short wDayOfWeek;
- public short wDay;
- public short wHour;
- public short wMinute;
- public short wSecond;
- public short wMilliseconds;
- /**
- * 分配内存,并返回指针
- */
- public Pointer createPointer() throws NativeException {
- pointer = new Pointer(MemoryBlockFactory.createMemoryBlock(getSizeOf()));
- return pointer;
- }
- /**
- * 内存大小
- */
- public int getSizeOf(){
- return 8 * 2;
- }
- /**
- * 获取通过内存指针解析出结果
- */
- public SystemTime getValueFromPointer() throws NativeException {
- wYear = getNextShort();
- wMonth = getNextShort();
- wDayOfWeek = getNextShort();
- wDay = getNextShort();
- wHour = getNextShort();
- wMinute = getNextShort();
- wSecond = getNextShort();
- wMilliseconds = getNextShort();
- return this;
- }
- public SystemTime() throws NativeException{
- super();
- createPointer();
- }
- public String toString(){
- return wYear + "/" + wMonth + "/" + wDay + " at + " + wHour + ":" + wMinute + ":" + wSecond + ":" + wMilliseconds;
- }
- public static SystemTime GetSystemTime() throws NativeException, IllegalAccessException {
- // 创建对象
- JNative nGetSystemTime = new JNative("Kernel32.dll", "GetSystemTime");
- //GetSystemTime 是dll中的方法
- SystemTime systemTime = new SystemTime();
- // 设置参数
- nGetSystemTime.setParameter(0, systemTime.getPointer());
- //执行方法
- nGetSystemTime.invoke();
- // 解析结构指针内容
- return systemTime.getValueFromPointer();
- }
- public static void main(String[] args) throws NativeException, IllegalAccessException{
- System.err.println(GetSystemTime());
- }
- }
- JNative的初步使用
- Java调用dll例子,JNative的使用
- 使用JNative遇到的小问题
- 使用Java的JNative调用dll动态链接库
- JNative的使用深入解析——环境配置
- 使用Java的JNative调用dll动态链接库
- JNative使用,调用动态库
- JNative使用,调用动态库
- JAVA 使用JNative调用DLL
- 使用JNative对条码打印机进行打印
- windows平台上使用jnative注意事项
- jnative调用delphi的DLL文件
- 关于jnative调用dll的一些心得
- 触发器的使用初步
- 索引的使用初步
- Repeater的初步使用
- FileWriter的初步使用
- webzip70的初步使用
- 使用 Eclipse Memory Analyzer 进行堆转储文件分析
- 虚拟内存管理的作用/好处
- Linux下Hadoop Eclipse插件编译安装
- delphi xe2下载地址
- ubuntukylin 14.04 下安装matlab2009
- JNative的初步使用
- 硬件设计之继电器控制
- GLSL 创建自己的着色器
- hadoop程序问题:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///
- jsp页面中的EL表达式不被解析的问题
- 今天访问数据库的时候出现提示信息
- php-fpm
- JAVA调用动态链接库DLL之JNative学习
- Unity基于ZXing.Net实现二维码的制作