使用JNA来创建COM对象的CreateObject我没有.class

时间:2017-10-27 10:59:13

标签: java com jna

我见过这样的例子

MsWordApp comObj = this.factory.createObject(MsWordApp.class);

在其他问题on SO

我的问题是我需要创建一个像在vbscript示例中完成的对象:

Set tdc = CreateObject("TDApiOle80.TDConnection")

在此场景中,createObject需要处理String,而不是类。如何将此vbscript转换为Java / JNA?

1 个答案:

答案 0 :(得分:2)

VBScript' CreateObject基本上是CLSIDFromProgID,后跟CoCreateInstance,处理错误。

VBScript始终使用后期绑定,因此您对IDispatch支持感兴趣。

似乎JNA通过COMBindingBaseObject

提供了此功能
new COMBindingBaseObject("TDApiOle80.TDConnection", false)

然后,使用提供的IDispatch来调用方法并获取或设置属性。

Reference