如何:从 Visual Basic 中引用 COM 对象

更新:2007 年 11 月

在 Visual Basic 中,添加对带有类型库的 COM 对象的引用与以前的版本中相似。但是,Visual Basic 在这一过程中增加了创建 Interop 程序集的步骤。对 COM 对象成员的引用被路由到 Interop 程序集,然后转发到实际的 COM 对象。来自 COM 对象的响应被路由到 Interop 程序集,然后转发到 .NET Framework 应用程序。

向 COM 对象添加引用

  1. 在“项目”菜单上,选择“添加引用”,然后单击对话框中的“COM”选项卡。

  2. 从 COM 对象列表中选择要用的组件。

  3. 为简化对 Interop 程序集的访问,请在要使用 COM 对象的类或模块的上面添加一条 Imports 语句。

    当您从集成开发环境 (IDE) 添加对类型库的引用时,Visual Basic 会自动创建 Interop 程序集。当从命令行工作时,可以使用 Tlbimp 实用工具手动创建 Interop 程序集。

使用 Tlbimp 创建 Interop 程序集

  1. 如果 Tlbimp 的位置不是搜索路径的一部分,并且当前路径不在 Tlbimp 的位置所在的目录中,请将 Tlbimp 的位置添加到搜索路径中。

  2. 在命令提示符下调用 Tlbimp,提供下列信息:

    • 包含类型库的 DLL 的名称和位置

    • 要放置信息的命名空间的名称和位置

    • 目标 Interop 程序集的名称和位置

    以下代码提供了一个示例:

    Tlbimp test3.dll /out:NameSpace1 /out:Interop1.dll
    

    可以使用 Tlbimp 为类型库创建 Interop 程序集,甚至也可以为未注册的 COM 对象创建 Interop 程序集。但是,由 Interop 程序集引用的 COM 对象必须在要使用它们的计算机上正确注册。可以使用包含在 Windows 操作系统中的 Regsvr32 实用工具注册一个 COM 对象。

请参见

任务

演练:用 COM 对象实现继承

互操作性疑难解答

参考

类型库导入程序 (Tlbimp.exe)

类型库导出程序 (Tlbexp.exe)

Imports 语句(.NET 命名空间和类型)

其他资源

COM 互操作