【问题标题】:Can I extract the CLSID of a type from a typelib on the command line?我可以在命令行上从 typelib 中提取类型的 CLSID 吗?
【发布时间】:2011-11-23 15:19:59
【问题描述】:

我有一个作为 DLL 实现的 ActiveX 控件;此 DLL 将类型库作为资源嵌入。我知道类型库包含一个具有特殊名称的 coclass(比如“FooPlugin.BarClass”)。

如果我只有在要提取其 CLSID 的类的名称处的 DLL,我如何在命令行上提取该类的 CLSID?

我看到了类似的问题 How to Extract TypeLib from a COM exe on Command Line,这让我开始修补 tlbimp.exetlbexp.exe 工具 - 但到目前为止还没有成功。也许我需要第三个工具来获取二进制类型库文件的文本表示之类的?

【问题讨论】:

  • 你必须描述失败。使用oleview.exe,File + View Typelib查看,复制粘贴guid。如果失败,那么它没有嵌入类型库。
  • 您可以围绕automation interfaces编写自己的工具
  • @Hans Passant:是的,使用 OLE 查看器,我可以获得 CLSID。但是,我想将此过程自动化作为我们构建系统的一部分(我需要生成一些必须包含我的类的 CLSID 的配置文件)。

标签: windows com command-line


【解决方案1】:
  1. 您可以开发一个自动化工具,从LoadTypeLib 开始,并为您提供所需的服务
  2. 您可以注册 DLL(或期望它被注册)并通过注册表 HKCR 获取您想要的信息,例如从识别文件的类型库标识符开始、枚举引用类型库的类、选择您感兴趣的那些

【讨论】:

  • 接受这一点,似乎没有其他方法可以在LoadTypeLib 周围编写我自己的小工具来做到这一点。
猜你喜欢
  • 2011-05-16
  • 2019-08-17
  • 1970-01-01
  • 2013-12-12
  • 2011-01-23
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
  • 2021-08-12
相关资源
最近更新 更多