java 用 jawin 调用 dll

问题描述

我要用java 调用jawin 读取 dll 来实现读取硬盘编号目的以下是原代码package com.ywda.util;import org.jawin.COMException;import org.jawin.FuncPtr;import org.jawin.ReturnFlags;public class nativeDll {public static void main(String[] args) throws Exception {int result1,result2;FuncPtr test1 = null;FuncPtr test2 = null;try {test1 = new FuncPtr("demo.dll", "test1");test2 = new FuncPtr("demo.dll", "test2");result1 = test1.invoke_I(5, 6, ReturnFlags.CHECK_NONE);result2 = test2.invoke_I(5, 6, ReturnFlags.CHECK_NONE);System.out.println("5 plus 6 is " + result1);System.out.println("5 multiply 6 is " + result2);} catch (COMException e) {e.printStackTrace();} finally {if (test1 != null) {try {test1.close();} catch (COMException e) {e.printStackTrace();}}if (test2 != null) {try {test2.close();} catch (COMException e) {e.printStackTrace();}}}}}这段代码是我从网上找的,不好使,我也不知道该怎么改,还有救市dll 文件到底要放在什么地方,有没有人知道怎么写。这是错误代码org.jawin.COMException: 8007007e: ???????¨at org.jawin.Bootstrap.loadLibrary(Native Method)at org.jawin.FuncPtr.<init>(FuncPtr.java:79)at com.ywda.util.nativeDll.main(nativeDll.java:18)

解决方案

dll代码可以放到自己指定的目录下。你再去读哪个目录。你先去看看jni的再做就会了。

时间: 2024-09-20 00:18:19

java 用 jawin 调用 dll的相关文章

第三方dll文件-Java中利用jawin调用dll文件,invoke的参数问题

问题描述 Java中利用jawin调用dll文件,invoke的参数问题 各位大神: dll中的被调用方法如下: long WINAPI AutoOpenComPort(long* Port, unsigned char *ComAdr, unsigned char Baud,long *FrmHandle); 其中: Port:输出变量, ComAdr:输入/输出变量 Baud:输入变量 FrmHandle:输出变量 请问它的 msgBox.invoke(instructions, stack

java中如何调用DLL方法

前段时间项目需要使用调用DLL来控制POS机外设,如钱箱和小票打印机.顾客显示屏等,于是,我便开始了java调用DLL中的方法的探索,事实上,网上的例子还是很多的,一些外部包的例子也有很多,但每个人的实际情况都有所不同,尽管只是一个很简单的调用,也花了我不少时间,在这里分享一下我的经验吧. 我是通过一个外部的JAR包来间接来获得DLL文件的句柄 的,它就是jacob了,这是java com brige的简写,呵呵, 这个名称起得非常形象吧,我用的版本是jacob 1.9的,你可以到它的官方网站去

关于java中用JNative调用dll文件报错的问题,跪求大神解决

问题描述 我在Eclipse中新建一个java工程,在java文件中用JNative调用dll文件,我把JNativeCpp.dll放在的C:WindowsSystem32中,把JNative.jar放在C:ProgramFilesJavajre7libext中,可是运行的时候总是报错JNativelibrarynotloaded,sorry!求解决啊,弄了一下午了,快死人了,还没调出来! 解决方案 解决方案二:JNativeCpp.dll放在的C:Windows下试试

java使用JNA(Java Native Access)调用dll的方法_java

JNA(Java Native Access):建立在JNI之上的Java开源框架,SUN主导开发,用来调用C.C++代码,尤其是底层库文件(windows中叫dll文件,linux下是so[shared object]文件).JNI是Java调用原生函数的唯一机制,JNA就是建立在JNI之上,JNA简化了Java调用原生函数的过程.JNA提供了一个动态的C语言编写的转发器(实际上也是一个动态链接库,在Linux-i386中文件名是:libjnidispatch.so)可以自动实现Java与C之

请教java通过JNative调用dll的问题,HWND参数如何创建。

问题描述 JNativen=null;n=demo.getJNativeByFunction("InitDLL");n.setRetVal(Type.INT);HWNDhwnd=newHWND(0);n.setParameter(0,hwnd.getValue());n.invoke();如此调用报错:-----------------------------------------------------------------------------------##Anunexpe

求救,java通过JNI调用C++ dll

问题描述 环境:win7+VS2008+eclipse问题:java调用release的dll中的一个函数第三次时出错,前两次都正常,第三次调用时Java代码进入调用dll中该函数的地方编辑器就死掉了,只能强制停止才能结束调试,没有报任何错误,dll也没反馈任何值.vs附加进行方式调试,每次都能正常运行注:在三次调用该函数时,dll的其它函数也被调用,没有出现什么异常.环境:server2003+eclipse同样的代码,dll为release版,第一次调用报错,重新调用就会正常代码无法往外考,

jna dll-java 用jna调用dll库问题

问题描述 java 用jna调用dll库问题 昨天接手一个新项目,是关于java调用dll的,用jna实现,在我本机上运行成功,今天换了台电脑,就出现了EXception in main thread java.lang.UnsatisfiedLinkError UNable to load library..........请问有谁知道原因啊?急. 解决方案 dll已经放到system32 下了,还是一样出错 解决方案二: 目测是需要加载的dll位置不对 你再看看啦 解决方案三: 使用JNA通

java c++ dll-java调用C++封装的DLL问题

问题描述 java调用C++封装的DLL问题 现在有一C++写的dll,C++传递消息采用SendMessage发送传递的,在java中已取得dll中sendmesssage发送的指针值即内存地址的指针,请问大神,如何获取已知地址的内容??特别着急 解决方案 java没法直接访问这个地址,也不能拿到地址内容,应该让C++把内容通过函数参数等返回给JAVA

linux下,java调用dll文件时,dll应该放在哪

问题描述 windows下,java调用dll文件时,dll放在system32这个文件夹下面,那linux下,dll文件应该放在哪? 问题补充:radio123 写道 解决方案 楼主要伤心了 linux底下应该不能直接调用dll 二进制格式不一样解决方案二:你们有谁做过把网页生成图片的功能吗,我提问很久了,都没人搭理我,我在windows下行,在linux下就不行了解决方案三:其实我也是啊,一个功能好不容易实现了,但是linux下不能运行,郁闷死了解决方案四:这个还真没有,还是借助网上力量搜索