我是COM领域的新手,所以我不不知道如何获取有关描述COM对象的接口,方法和参数的信息。我读了一些叫做TypeLib的东西,但我不知道如何阅读。如何从中获取信息?
#1 楼
可以在此处找到官方API:类型说明接口。可以直接从C ++使用它,但我建议您将.NET(示例中为C#)与Microsoft很久以前编写的一个额外工具一起使用。 (我的日期是1997年),名称为TLBINF32.DLL。它也是一个COM对象,但与自动化(VBScript,Javascript,VB / VBA)和.NET兼容。您可以找到TLBINF32.DLL对其进行谷歌搜索(该链接今天似乎有效:tlbinf32.dll下载,请确保您获得的是.ZIP文件,而不是他们所说的“修复程序” ...)。请注意,这是一个32位DLL,因此您的程序必须编译为32位才能使用它。我不知道任何64位版本。
在2000年12月的MSDN杂志文章中,详细解释了如何使用该库:使用TypeLib信息对象库检查COM组件。它是面向VB(不是.NET)的,但是用.NET术语进行翻译非常容易。
这里是C#中的示例控制台应用程序,它仅转储类型库(此处为MSHTML)中的所有类型信息。 TLB):
class Program
{
static void Main(string[] args)
{
TypeLibInfo tli = new TypeLibInfo();
tli.ContainingFile = @"c:\windows\system32\mshtml.tlb";
foreach (TypeInfo ti in tli.TypeInfos)
{
Console.WriteLine(ti.Name);
// etc...
}
}
}
评论
我唯一要添加的是您需要在VisualStudio中专门添加对COM dll的引用,以使这些类型可用。您的链接可能涵盖了该内容,但是由于我公司的网站屏蔽规则,我无法访问该网站...
– Sam Storie
18年3月22日在18:47