我看过这样的例子

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


在其他问题中,请点击on SO

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

Set tdc = CreateObject("TDApiOle80.TDConnection")


在这种情况下,createObject将需要处理一个String而不是一个类。如何将此vbscript转换为Java / JNA?

最佳答案

VBScript的CreateObject本质上是CLSIDFromProgID,后跟CoCreateInstance,带有错误处理。

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

似乎JNA通过COMBindingBaseObject提供了此功能:

new COMBindingBaseObject("TDApiOle80.TDConnection", false)


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

Reference

关于java - 使用JNA来创建我没有.class的COM对象的CreateObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46973501/

10-11 06:21