如果不是embed的开发,从已经生成的firefox窗口怎么得到nsIWebBrowser指针?

解决方案 »

  1.   

    IE内核的,可以从hwmd得到IWebBrowser2,是因为它支持一个自定义的消息WM_HTML_GETOBJECT,然后再
    IHTMLDocument2 -> IWebBrowser2同理,firefox的窗口要得到其nsIWebBrowser指针,需要看看firefox本身是否有类似的机制进行支持~firefox及其封装成的activex都是开源的,你可以看看其原代码哈,如果本身不支持,那么需要自己添加支持。最简单的方式是把nsIWebBrowser指针放到其hwnd的user data字段...
      

  2.   


    firefox封装的activex是1.5版吧,我想找的是针对3.6和4版本以上的,而且最好不改动FF的原代码
      

  3.   


    再问个xpcom的问题,自己写了一个C++的xpcom插件,在firefox启动后,可以在javascript里传给xpcom插件nsIDOMWindow类指针;有没有办法不用javascript就可以从HWND就直接得到nsIDOMWindow的指针呢?
      

  4.   

    过年了,闪人了哈! ff我也没有怎么用,只是从原理上来说是那样的一句话,ff如果本身不支持通过hwnd获取内部接口,那就没办法
    如果有IE类似的机制,就可以直接用,你多google一下~
      

  5.   

    对于IE的话,有内部接口可以获取所有的IExplorer接口,这样可以通过遍历的方式遍历所有接口,通过接口获取hwnd,和已有的hwnd进行比较即可。但是对于firefox,就不知道是否存在这样的接口了