怎样可以得到COM里的函数名和它的参数?
为什么在MFC里加入COM时它会自动显示出所有函数和参数。
要怎么搞才能得到它们?

解决方案 »

  1.   

    add the #import ".../*.dll" in your program.
    build it,it will produce a .tlh file,you can find the interface and method in it.
      

  2.   

    #import ".../*.TLB"
    //导入类型库
      

  3.   

    我是想知道MFC是怎么得到的,
    然后……………………,我写一个程序,
    不用加到MFC里也可以得到这些参数,
    在WIN32里用这个COM就舒服多了。
      

  4.   

    这就要你对类型库非常熟悉。 MFC就是通过读取类型库, 获得函数和参数的。
    类型库一般都在DLL内,也可以是一个tlb文件。这都是常规做法, 不过很烦琐。
      

  5.   

    找一个EXE或DLL浏览器,比如exeScope打开DLL文件,看资源,再找typelib
      

  6.   

    我用winhex打开一个DLL文件,这个DLL是我编的,对着源代码看,
    也只是在后面找到一些函数名而已,它们的偏移量是多少,有什么
    规律,我都不懂。
      

  7.   

    #import "...\*.dll" no_namespace
    #import语句自动从类型库中生成所需的头文件:*.tlh和*.tli文件。tlh文件就是类型库所支持的每一个com对象的头文件。
    #import生成自动进行引用操作的智能指针,智能指针的定义可以在.tlh文件中找到。
    可以用其中的定义实例化一个你想要引用的接口的智能指针:
    I...Ptr p...(__uuidof(...)); "..."为组件类
    然后就可以用接口的智能指针了。
      

  8.   

    OLEView不错。
    dll里面的偏移量用depends工具可以看到。
      

  9.   

    使用depends只能看到这四个函数呀。DllCanUnloadNow
    DllGetClassObject
    DllRegisterServer
    DllUnregisterServer
      

  10.   

    oleview里只能看到三个接口:ITwelveCOM
    IDispatch
    IUnknown没有我要的函数名呀。