获取导入.tlb的函数/对象
Get functions/objects of imported .tlb
我有一个程序,它附带了一个。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();
相关文章:
- 如何创建对象函数指针C++映射?
- 为什么我可以改变常量对象中的成员变量,这是返回常量对象函数的结果?
- 如何将对象函数的实例传递给另一个函数
- 调用模板函数的问题"No matching function for call"参数:迭代器、对象函数
- makefile对我的名称空间对象/函数/构造函数的不确定引用
- 将对象函数转换为函数指针
- 非对象函数/类函数C++
- 线程对象函数 C++
- C 将成员对象函数分配给类成员功能
- 使用基本指针调用派生对象函数
- 可以(通过编译器)使用多少个线程来初始化全局对象(函数main之前)
- C++类对象函数
- 对对象::函数的未定义引用
- 无法弄清楚将多个对象函数作为单独的线程调用的语法
- 在提升作用域出口中调用对象函数
- 使用基指针来使用派生对象函数
- 在for_each lambda 中调用对象函数
- C++:: 模板函数 - 从对象函数获取对象的地址
- Qt5 未解析的外部静态元对象函数
- 通过变量使用对象和对象函数