别的公司给我一套商业插件,有三个文件,DLL,OCX,H
我想用JAVA调用DLL,可regsvr32只能对OCX注册,不能注册DLL,(DLL是用VC写的)
从网上找来不少DEMO,加载DLL时用System.loadLibrary( "string ");这个方法,这个参数是调用的什么??也不加扩展名???
我将IbSignData.dll放在SYSTEM32下,环境变量也改过,jdk\jre\bin下也放了,都报错
当loadLibrary( "IbSignData.dll ");时
java.lang.UnsatisfiedLinkError: no IbSignData.dll in java.library.path
当loadLibrary( "IbSignData ");时
Exception in thread "main " java.lang.UnsatisfiedLinkError: UsbKeyVerifySign
以下是我的代码:
public class Demo {
static {
System.loadLibrary( "IbSignData.dll ");
}
public static void main(String[] args) {
Demo demo = new Demo();
long a = demo.UsbKeyVerifySign( "111 ", "222 ", "333 ");
System.out.println( "aaa= "+a);
}
public native long UsbKeyVerifySign(String ca, String str,String code) ;
}
如果有人能帮我解决这个问题,单开贴给其100分
能QQ或MSN单独给我讲讲更好,我把插件给你穿过去,谢谢了,太着急了,快帮帮我吧,搞好几天了,一点没进展
------解决方案--------------------
使用JNI方法进行调用
------解决方案--------------------
朋友,我知道你错在哪里了。
------解决方案--------------------
问一下啊,你是不是把Demo类编译了以后直接包含到你的工程的lib里面以后通过JNI来调用的啊,
------解决方案--------------------
还是用Jbuilder吧
------解决方案--------------------
我也刚好有这个问题.关注!
顶~
------解决方案--------------------
1.dll应当位于你的classpath中。