我对 Windows 编程还是有点陌生,有时会发现文档和教程令人困惑,有时甚至是矛盾的,但我希望我能理解一些,并纠正我的任何错误点。 我正在使用一个 API,其中包含的文档非常差。它由许多 DLL 组成,他们预计将添加这些 DLL 作为 VB 项目的引用(大多数用户是生物学家/化学家,对其他语言不是很熟悉,因此他们推荐 VB)。我一开始以为它们是.NET dll,但它们不能用 regasm 注册,并且不能使用它生成 tlb,但可以用 regsvr32 注册,所以我想这意味着它们是 COM dll...如果我错了,请纠正我.
我的理解是,由于这公开了 COM 对象,我应该能够将其与 .NET 语言和非托管 C++ 一起使用。我已经在 C# 中使用了它,但我也想在 unmanged c++ 中使用它。我看过这样的教程: http://cppkid.wordpress.com/2009/01/...nmanaged-code/ 导入类型库,但我没有这个,它没有随 API 提供。然而,使用 OLE 查看器我能够看到它们可用(嵌入在 dll 中?)。我想知道是否有人知道我如何从这里转到实际使用 c++ 中的 dll。
干杯并感谢您的帮助。
最佳答案
我想实现这一点的最简单方法是使用 #import
指令:
#import <mygreatlib.dll>
还有其他方法,例如使用 #import
与 ProgID dll 的入口点类,或使用 MFC type library wizard
关于c++ - 将 COM dll 与非托管 C++ 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182333/