none
一个C++项目中如何导入包含COM的DLL? RRS feed

  • 问题

  • C#和VB都只要在项目中直接引入COM就可以了,非常方便,但是C++不行。

    现在有个COM,有.h,.idl,.tlb和.dll文件,我怎么通过这些文件在C++项目中使用这个COM?

    PS:可以不用DllGetClassObject而使用COM吗?

    谢谢

    2011年6月17日 9:49

全部回复

  • 不知道你用的是什么IDE。最简单的方法是通过自动化的方式导入.tlb文件。可以生成.h文件,直接调用.h中的函数就可以操作COM。

    最直接的方法是CoCreateInstance接口,使用.h文件中的CLSID在通过IID调用接口。需要注意设置线程模型。


    麻烦把正确答案设为解答。
    2011年6月18日 1:35
    版主
  • 我的IDE是VS2010 Ultimate,我试过#import  .tlb,但是行不通。

    怎么样自动化的方式导入.tlb?

    谢谢!

    2011年6月19日 12:12
  • 而且我有.h文件,但是我直接包含.h,并且使用里面的类,编译的时候它说"使用未定义的类"

    也就是说编译器有头文件但是找不到定义...

    2011年6月19日 12:22