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

visual Using COM dll with unmanaged c++

本文关键字:c++ 一起 COM dll visual      更新时间:2023-10-16

我对Windows编程还是有点陌生,有时会发现文档和教程让我感到困惑,有时会自相矛盾,但我希望我能理解一些道理,并在任何错误的地方得到纠正。我使用的是API,其中包含的文档非常糟糕。它由许多DLL组成,他们设想这些DLL将被添加为VB项目的参考(大多数用户是生物学家/化学家,对其他语言不太熟悉,所以他们推荐VB)。一开始我以为它们是.NET dll,但它们不能用regasm注册,也不能用它生成tlb,但可以用regsvr32注册,所以我想这意味着它们是COM dll。。。如果我错了,请纠正我。

我的理解是,由于这公开了COM对象,我应该能够将其与.NET语言和未经管理的c++一起使用。我在C#中使用过它,但我也想在未经管理的C++中使用它。我看过这样的教程:http://cppkid.wordpress.com/2009/01/...nmanaged-code/这导入了类型库,但我没有这个,它不是API提供的。然而,使用OLE查看器,我能够看到它们是可用的(嵌入在dll中?)。我想知道是否有人知道我如何从这一点到实际使用c++中的dll。

干杯,谢谢你的帮助。

我想实现这一点的最简单方法是使用#import指令:

#import <mygreatlib.dll>

不过还有其他方法,比如将#import与dll的入口点类的ProgID一起使用,或者使用MFC类型库向导