如何在c ++中以编程方式导入tlb文件?

时间:2009-07-28 10:37:41

标签: c++ visual-c++ com typelib

目前我正在使用声明:

 #import "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\test.tlb" named_guids

但是我以编程方式获取文件夹路径。即,"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"

我必须从此路径加载test.tlb,该路径位于变量中,folderpath。我必须通过连接folderpath+test.tlb以编程方式导入tlb。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

如果有帮助,您可以指定编号ID,例如:

#import "progid:Outlook.Application" named_guids

这使用硬编码路径。

答案 1 :(得分:2)

要在运行时以编程方式加载TLB文件(COM类型库),您可以使用LoadTypeLibraryEx

应该将在编译时导入的TLB复制到一个众所周知且一致的位置,以便在bild中找到它。如果您在团队环境中工作,您可能需要检查TLB到您的SCM系统,以便每个人都从相同的相对位置引用相同版本的TLB文件。

此外,TLB所在的路径可以作为include目录提供给编译器(与头文件相同)。