从 Java 代码调用 DLL 库 method/function

call DLL library method/function from Java code

我需要调用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 信息:

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

这样您就可以避免烦人的拼写错误,并确保您获得该特定 .dll 支持的所有方法。

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