我使用了WebBrowser控件,但在NewWindow3事件中不知如何区分是用户打开的新窗口还是网页自动弹出的新窗口。比如我们平常用百度搜索后,点击某个结果,IE8就会新建一个标签,开一个窗口。但如果是网页自动弹出的窗口。IE8就会阻止,请问如何才能做到这样的效果。

解决方案 »

  1.   

    你查一下 DWebBrowserEvents2::NewWindow3 的入口参数 DWORD dwFlags,里面有标志,用于区分这个动作是否来自于用户操作。
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  2.   

    问题已解决,呵呵。
       在NewWindow3中添加如下代码
          if(!(dwFlags & NWMF_USERINITED)) //当新窗口是由用户点击触发时设置NWMF_USERINITED
         {  
             *Cancel=TRUE;
             return;
         }