none
在一个进程当中点一个链接!想在另一个进程中打开页面!在OnNewWindow2函数如何处理比较好? RRS feed

  • 问题

  • 在一个进程当中点一个链接!想在另一个进程中打开页面!在OnNewWindow2函数中如何处理比较好?

     

     主要问题是,在   OnNewWindow2   事件中无法获得URL,只可注册和指定用哪个浏览器打开,这个浏览器在同进程的话相当简单,但跨进程使用SetRegisterAsBrowser方法好象很有难度的样子,至少我还没看到过相关例子。   
      OnBeforeNavigate2   事件可以拿到URL,但新开窗口的话不会通知到它,它只能拿到在本窗口跳转的URL,所以。。 

    2010年3月31日 4:13

答案

  • 我以前是用Newwindow3 来实现的:

    void NewWindow3(      
        IDispatch **ppDisp ,
        VARIANT_BOOL *Cancel ,
        DWORD dwFlags ,
        BSTR bstrUrlContext ,
        BSTR bstrUrl
    );

    你不能指望CHtmlView, 用这个NewWindow3 你得实现DWebBroswserEvents2 事件接口。

     

     

    • 已标记为答案 Nancy Shao 2010年4月7日 7:19
    2010年3月31日 4:51
    版主
  • 也可以重载未公开的虚函数NewWindow2。参考http://code.msdn.microsoft.com/IEAutomation



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 Nancy Shao 2010年4月7日 7:19
    2010年3月31日 23:01
    版主

全部回复

  • 我以前是用Newwindow3 来实现的:

    void NewWindow3(      
        IDispatch **ppDisp ,
        VARIANT_BOOL *Cancel ,
        DWORD dwFlags ,
        BSTR bstrUrlContext ,
        BSTR bstrUrl
    );

    你不能指望CHtmlView, 用这个NewWindow3 你得实现DWebBroswserEvents2 事件接口。

     

     

    • 已标记为答案 Nancy Shao 2010年4月7日 7:19
    2010年3月31日 4:51
    版主
  • 先谢谢了!...可否详细点!..

    而且我截获的NewWindow3后 地址出现乱码!

    2010年3月31日 4:59
  • 我想我说的很详细了。就是实现DWebBrowserEvents2接口。 你说的这个功能我是实现过的,拦截一个newWindow,然后创建一个新IE打开URL。 应该不会出现乱码。
    2010年3月31日 9:07
    版主
  • 也可以重载未公开的虚函数NewWindow2。参考http://code.msdn.microsoft.com/IEAutomation



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 Nancy Shao 2010年4月7日 7:19
    2010年3月31日 23:01
    版主
  • 记得这个问题,当时也烦了我好久,没得到解决,后来浏览器也没做成。。。现在我也不懂~~
    2010年4月1日 2:41
  • 谢谢了!我已经实现了DWebBrowserEvents2 ,现在就是打开新一个页面的时候,地址部分出现乱码!..

    非常感谢!

    2010年4月1日 2:46
  • URL 是Unicode 内码的BSTR。 请注意内码转换问题。
    2010年4月1日 3:17
    版主