将COM dll与非托管c ++一起使用

时间:2012-02-07 19:11:14

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

我对Windows编程仍然有点新鲜,有时会发现文档和教程我感到困惑,有时甚至是矛盾但我希望我能够理解并纠正我错误的任何一点。 我使用的API包含的文档很差。它由许多DLL组成,他们设想将作为VB项目的参考添加(大多数用户是生物学家/化学家,并不熟悉其他语言,所以他们推荐VB)。我认为它们最初是.NET dll但它们不能用regasm注册,并且无法使用此生成tlb但可以使用regsvr32注册,所以我猜这意味着它们是COM dlls ...如果我错了请纠正我

我的理解是,因为这暴露了COM对象,我应该能够使用它与.NET语言和unmanged c ++。我在C#中使用它,但我也想在无人c ++中使用它。我见过这样的教程: http://cppkid.wordpress.com/2009/01/...nmanaged-code/ 导入类型库但我没有这个,它没有提供API。但是,使用OLE查看器,我能够看到它们可用(嵌入在DLL中?)。我想知道是否有人知道如何从这里实际使用c ++中的dll。

欢呼并感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我想最简单的方法就是使用#import指令:

#import <mygreatlib.dll>

还有其他方法,例如将#import与您的dll的入口点类ProgID一起使用,或使用MFC type library wizard