JNative调用dll打印

本文档介绍了如何使用JNative库在Java中调用dll文件进行打印操作。首先,介绍了下载JNative库及dll文件的步骤,并将dll放置在系统目录。接着,详细说明了将JNative.jar引入项目并配置dll路径的过程。最后,展示了一个简单的测试类,展示了如何通过JNative调用dll函数并获取返回值。
摘要由CSDN通过智能技术生成

最近项目需要调用触摸屏上的打印机,硬件提供方只提供了调用打印机的dll文件,需要项目组自己用java开发调用dll代码。在网上看了些资料,很多介绍JNI或JNA文档都写的不清楚或写的很复杂,决定自己顺便整理下,以作回顾!


下载地址:

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

如果以上版本不能完成下载,请在网上另行查找。


1、把JNative_1.4RC2_src.zip解压后从中找到libJNativeCpp.so和JNativeCpp.dll两个文件.JNativeCpp.dll应用在Windows平台下.把它放在c:\windows\system32目录下.libJNativeCpp.so应用在Linux平台下.(放在Linux哪个目录,暂不作研究,因为这里平台是Windows平台)。


2、把JNative.jar加入到所需的工程中.把要调用的dll文件也放在c:\windows\system32目录下(这一步有问题,在实际应用当中请注意,卡了我二天。我是放在使用的JDK的bin目录下,如:C:\Java\jdk1.6.0_10\bin)


3、测试类。(简单示例代码)

import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;

public class Test {

public static void main(String[] args)throws Exception {
   //
系统加载dll文件有两种写法1.loadLibrary方法:把dll文件拷贝到c:\windows\system32目录下,引用时只需写dll名字2.load方法:写dll文件的完整路径
   System.loadLibrary("InterfaceFun");//InterfaceFun是dll文件
   //参数说明InterfaceFun dll名,AddZhiYe函数名
   JNative jnative = newJNative("InterfaceFun","AddZhiYe");
   //设置此函数的返回值
   jnative.setRetVal(Type.INT);
   int i=0;
   //赋予参数值
   jnative.setParameter(i++, Type.STRING,"127.0.0.1");
   jnative.setParameter(i++, Type.STRING,"sa");
   jnative.setParameter(i++, Type.STRING,"sa");
   jnative.setParameter(i++, Type.STRING,"程序员");
   jnative.setParameter(i++, Type.INT,"23");
   jnative.setParameter(i++, Type.INT,"23");
   //函数执行
   jnative.invoke();
   //打印函数返回值
   System.out.println(Integer.parseInt(jnative.getRetVal()));
}

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值