本帖最后由 okcwf 于 2009-11-03 00:27:23 编辑

解决方案 »

  1.   

    传ActiveX的COM接口不就完了
    你的方法对本进程的窗口都未必有效,更何况对其他进程的窗口。
      

  2.   

    IOleWindow 接口HRESULT IOleWindow::GetWindow(HWND* phwnd);
      

  3.   

    GetDlgControl内部调的是AtlAxGetControl,直接调用试试
    CComPtr<IUnknown> spUnk;
    hr = AtlAxGetControl(winhandle, &spUnk);
      

  4.   

    谢谢jiangsheng大侠,请问如何传ActiveX的COM接口?因为桌面的应用程序只接收ULong型的参数,如果是传接口指针的话,如何把指针Long型变量转换成COM接口(如IDispatchEx)调用?
      

  5.   

    试过togoblime提到的AtlAxGetControl方法,还是得不到接口。
      

  6.   

    如果按蒋老大说的,我如果在COM取得一个接口指针,传到另一个程序中,在这个程序中把指针再转换成接口,去调用COM的接口?
      

  7.   

    ulong传不了COM……换个接口吧。