获取导入.tlb的函数/对象

Get functions/objects of imported .tlb

本文关键字:对象 函数 导入 tlb 获取      更新时间:2023-10-16

我有一个程序,它附带了一个。tlb文件,可以用我自己的c++程序访问一些函数/对象(读取变量等)。我做了一个搜索,并导入了.tlb文件:

#import "MyLib.tlb" named_guids no_namespace

我也可以通过使用libid从oleview.exe (ProgId不工作)导入它。

即使我得到一些警告(如下所示),我的程序仍然运行:

C4278 ['TextOut', 'CreateEvent', 'DeleteFile'] is already a macro; use the 'rename' qualifier

但. .我现在如何获得函数/对象的访问权限?对不起,我是初学者,所以请耐心等待。它是否与IDispatch一起工作?我需要导入一些更多的dll或者我需要更多的#include指令吗?

我使用的是Visual c++ 2008 Express.

,
编辑:好的,对不起,我已经可以访问对象的标题(我在自动完成中看到"应用程序"),但我不知道如何获得对象。

对象概述

我想我找到了相关的维基百科文章

导入类型库为您提供了该库的所有接口和标识符的描述。通常情况下,您不应该包含任何额外的头文件。你应该使用COM智能指针创建这些接口,并调用它们的方法:

CComPtr pInterface;
pInterface.CoCreateInstance(__uuidof("ClassNameFromTLB"));
pInterface->CallMethod();