从 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 文件。
我需要调用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 文件。