【问题标题】:How to inspect raw COM definitions in a TLB file?如何检查 TLB 文件中的原始 COM 定义?
【发布时间】:2016-01-04 23:02:01
【问题描述】:

一个现有的非托管 C++ 项目使用了一个用 C# 声明和实现的 COM 组件,我的头文件看起来有点像这样:

#import "MyComponents.tlb" no_namespace named_guids

IComponentXYZ *pComponent;

有时当我右键单击 .h 文件中的 IComponentXYZ 并“转到声明”时,会显示一个 MyComponent.tlh 文件,其中显示了 COM 包装器定义。但其他时候,它说不存在定义。

我可以在 Visual Studio 中手动打开此文件吗?我认为它是自动生成的。虽然对象浏览器窗口允许我检查 TLB 内容,但它不显示原始 COM 方法声明。

【问题讨论】:

  • 您可能正在寻找OLE/COM Object Viewer。执行File > View TypeLib,打开您的 .tlb 文件。该工具本质上是反编译回 IDL。
  • 为我工作。当您搜索 CLSID 时,不要忘记查看 HKLM\SOFTWARE 下的 Wow6432Node。
  • This link 现在会让您走得更远。本质上,安装 Windows SDK 以获取 OLE/COM 对象查看器。

标签: c++ visual-studio visual-studio-2013 com


【解决方案1】:

二十年前我也使用过 OLEView。 查看 TLB 内部的其他一些好工具还有:

COMView

很有帮助...

【讨论】:

    猜你喜欢
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2015-05-02
    • 2012-02-18
    • 2019-11-02
    相关资源
    最近更新 更多