【问题标题】:In which DLL is the COM interface iStream defined?COM 接口 iStream 定义在哪个 DLL 中?
【发布时间】:2011-11-14 13:39:29
【问题描述】:

我是 Windows 和 COM 编程的新手,尝试使用 com4j 从 Java 调用 COM 对象。

Com4j 从 COM 定义“经常在 .ocx、.dll、.exe 和/或 .tlb 文件中找到”生成 Java 接口。我很容易找到目标 COM 对象的 .ocx 文件,但我不知道标准接口 iStream。

Microsoft's documentation 提到了 OLE32.DLL (c:\Windows\Windows32\Ole32.dll ?),但是 com4j 生成器和oleviewer 都没有成功打开这个文件。

有什么提示吗?

【问题讨论】:

    标签: java com istream com4j


    【解决方案1】:

    好像是在 comsvc​​s.dll 中定义的。

    【讨论】:

    • DLL 似乎是正确的。不幸的是,com4j 无法从中生成接口。我正在寻找答案。
    【解决方案2】:

    您链接到的文档引用了 Objidl.idl。 com4j 或许能够处理 IDL 文件。

    您也可以尝试使用 MIDL 将 IDL 编译为 TLB:http://msdn.microsoft.com/en-us/library/aa367372(VS.85).aspx

    【讨论】:

    • 知道在哪里可以找到 objidl.idl?
    • 它是 Windows 平台 SDK 的一部分,但如果您安装了 Visual Studio 或 VC++,您很可能也拥有它。在我的机器上,我发现多个版本植根于 C:\Program Files (x86)\Microsoft SDKs\Windows\。
    猜你喜欢
    • 2010-12-03
    • 2017-11-17
    • 2011-02-12
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2012-05-02
    • 2017-11-25
    • 2013-11-23
    相关资源
    最近更新 更多