我只能得到ActiveX控件的窗口句柄,我想通过这个句柄获得这个ActiveX控件的IUnknown接口(不能使用MFC),请问各位大虾有什么方法没有?谢谢!我的程序不支持MFC,所以要用SDK的方法。

解决方案 »

  1.   

    你要得到控件的com引用才可以,不过有些控件可以通过发送消息来获得相应的com对象,比如像rich_edit
      

  2.   

    获得引用后就很简单了,自定义个iunknown类型库,然后引用之,然后就 set i=xxx
      

  3.   

    呵呵,我关心的是获得这个ActiveX控件的IUnknown接口之后你要实现什么?能详细说说吗,也许事情并不是想象中那么复杂
      

  4.   

    目前我不知道不用MFC还能获得这个ActiveX控件的IUnknown接口
      

  5.   

    http://users.skynet.be/wvdd2/Compiling/COM_for_VB/com_for_vb.html
      

  6.   

    我要实现一个自动测试的功能,被测试的程序中有很多ActiveX控件,我的目的就是编写一个程序自动操作这些控件(比如填写数据等等),普通的空间直接用HWND句柄就可以控制了,但是ActiveX不行。    如果用MFC的方法那么先用CWnd::FromHandle(HWND)得到CWnd的指针,然后CWnd::GetControlUnknown()就可以得到IUnknown, 用COM就可以控制ActiveX了,但是当被测试的对象不是由VC编写的比如VB就不行了FromHandle方法不能把VB的窗口句柄成功的转变成CWnd的实例,    因此我想用SDK方法得到这个IUnknown
      

  7.   

    你参考MFC中GetControlUnknown的实现源代码不就行了.