我是使用 JNA 从 Java 访问 DLL 的新手,所以如果这对每个人来说都是显而易见的,请原谅我!我需要从 DLL(用 VB 编写)中的类访问方法,并且不能通过仅加载库来完成此操作,因为我看到如何访问其中的类,即该 DLL 名为 CDrawControl.dll,但我需要访问的 DLL 中的类是 DrawCtl。所以我需要获取 DrawCtl 类的实例。
总而言之,如何使用 JNA 访问 DLL 中的这个方法?
IE。 CDrawControl.DrawCtl.SaveFile()
我可能缺少一些非常简单的东西。
public class ReadDLL {
public interface ChemDrawCtl12 extends Library {
CDrawControl INSTANCE = (CDrawControl) Native.loadLibrary(
(Platform.isWindows() ? "CDrawControl" : "CDrawCtl12LinuxPort"),
CDrawControl.class);
void DrawCtl.SaveAs(); // this is wrong but shows what I am trying to do!!
}
您很可能需要使用 COM 包装器,尝试 JACOB 或 com4j。这些项目可以扫描接口定义文件并生成相应的Java对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)