Java 定义IDispatch的类型库位于哪里?

Java 定义IDispatch的类型库位于哪里?,java,com,com4j,Java,Com,Com4j,我正在尝试使用来设置一个简单的Java应用程序,它可以与IDispatch COM接口交互。通常,对于com4j,您将使用tlbimp.jar工具生成一个com4j Java接口,其实例将代理IDispatch。com4j文件说: 通常,使用com4j的第一步是生成Java类型 COM类型库中的定义。COM类型库通常是 可在.ocx、.dll、.exe和/或.tlb文件中找到。我还是不知道怎么做 查找给定COM库的类型库而不是猜测 通过使用OleView创建文件 有人知道在哪里可以找到定义IDi

我正在尝试使用来设置一个简单的Java应用程序,它可以与IDispatch COM接口交互。通常,对于com4j,您将使用tlbimp.jar工具生成一个com4j Java接口,其实例将代理IDispatch。com4j文件说:

通常,使用com4j的第一步是生成Java类型 COM类型库中的定义。COM类型库通常是 可在.ocx、.dll、.exe和/或.tlb文件中找到。我还是不知道怎么做 查找给定COM库的类型库而不是猜测 通过使用OleView创建文件


有人知道在哪里可以找到定义IDispatch的类型库吗?

我很确定没有描述IDispatch的类型库。TLB格式根本不足以表示其复杂性。但是,一般来说,您可能不需要与IDispatch交互,而是需要与它的特定实现交互,也称为dispinterface。dispinterface可以很好地在类型库中描述,类型库通常与组件一起作为单独的文件提供,或者作为资源绑定到二进制文件。如果你不介意我问的话,你想使用哪个组件?谢谢你的回复,伊戈尔。我确实在寻找实际的IDispatch接口。用例如下:我希望能够将IDispatch指针公开给一种动态语言,称为,它是用Java实现的。假设Suneido程序员引用了一个IDispatch,x。Suneido允许他动态更改IDispatch上的属性和调用方法,语法类似于x.Property=5或val=x.Method,在运行时动态查找属性和方法。所以我其实只想和IDispatch互动…啊。事实证明,存在一个包含IDispatch的TLB文件。名字是stdole2.tlb,在我的机器上,它在C:\Windows\winsxs\x86\u microsoft-Windows-ole-automation-stdole2\u 31bf3856ad364e35\u 6.1.7600.16385\u none\u e8ad19677a48df45下,必须并肩相爱。看看这是否有帮助。我昨天对此有预感,并尝试在其上运行tlbimp.jar。实际上,我在C:\Windows\System32\stdole2.tlb和stdole32.tlb中尝试了一个。今天我试了一下你建议的。问题是tlbimp.jar根本不会为此TLB生成任何输出!它也不会生成错误消息,所以我无法说出它失败的原因或失败的原因。您能从这个TLB生成任何输出吗?很抱歉,我不熟悉tlbimp.jar或com4j,或者任何Java语言。在那方面我帮不了你。话虽如此,我还是有点期待这样的事情发生。这是一个很好的打赌,这个com4j的东西知道如何处理运行的自动化接口。但IDispatch不是其中之一。查看Google快速搜索JavaIDispatch是否有帮助