从Java代码调用DLL库方法/函数

时间:2015-02-03 16:50:13

标签: java dll

我需要调用dll中可以访问的方法,但我无法访问它们,这里是dll

public class JavaApplication2 {

    public interface simpleDLL extends Library {
        simpleDLL INSTANCE = (simpleDLL) Native.loadLibrary("HComPinpad", simpleDLL.class);
        void DllUnregisterServer();  
        String ReadCard();
    }
    public static void main(String[] args) {
         simpleDLL sdll = simpleDLL.INSTANCE;
         sdll.ReadCard();
    }    
}

线程“main”中的异常java.lang.UnsatisfiedLinkError:查找函数'ReadCard'时出错:没有特定的处理过程。

这是DLL信息:

DLL information

1 个答案:

答案 0 :(得分:0)

我不太了解Java和.dll文件之间的通信,但很快我也不得不调用一些dll函数,我被建议使用com4j,因为它只是易于使用。我真的不知道为什么你的例子不起作用,但你可能也想看看com4j。

通过这种方式,您可以避免烦人的拼写错误,并确保从特定的.dll获得支持的所有方法。

有一个com4j tutorial,它描述了如何将com4j与.ocx文件一起使用,但它也适用于.dll文件。