使用Java中的COM .dll而不使用regsvr32注册库

时间:2015-01-07 05:43:33

标签: java dll com java-native-interface jna

我有一个COM DLL,它描述了几个版本的接口。这个DLL还依赖于其他2个常规DLL文件作为依赖项(我的猜测是,我也有这2个DLL)。

使用Visual C ++附带的COM / OLE浏览器,我能够生成.IDL文件,所以我知道接口中有哪些方法。

我无法理解如何创建委托给COM DLL中的方法的java对象,而无需使用regsvr32注册DLL。我也不知道'其他DLL'在这种情况下,依赖性得到解决。

我已经尝试过阅读有关com4j,JACOB等的内容,但我发现的所有内容都集中在使用其COM接口的Word / Excel / PowerPoint / Outlook自动化上。

1 个答案:

答案 0 :(得分:1)

我从未使用JAVOB(或任何其他Java - > COM Bridge),但我希望使用Office自动化对象与使用任何其他COM组件没有区别。

一个可能的区别与您将如何访问组件(早期/晚期绑定,或自定义界面或Dispatch界面)有关。

如果我在你的位置,我首先尝试注册/访问组件(使用JACOB,com4j或任何其他COM桥接器)。只有在让这个场景工作之后我才会进入下一步:试图摆脱注册COM dll的要求(检查registration free COM activation - 它可能有用)。

如果在注册dll后无法访问该组件,您仍可以尝试使用其他语言(例如C#或VB.NET,VB 6,Delphi,C ++等),以便更轻松地集成COM以测试您的注册。 / p>

有关registration free COM activation的更多信息。