用WebBrowser时如何捕获
window.showModalDialog 和 window.showModelessDialog
弹出的窗口

解决方案 »

  1.   

    如果你想屏蔽所有弹出的窗口,那么在OnNewWindow2中设定Cancel := True就行了。
      

  2.   

    OnNewWindow2 捕获不到 window.showModalDialog 和 window.showModelessDialog 弹出的窗口
      

  3.   

    微软的内部消息是会考虑在Windows Longhorn中加入捕获window.showModalDialog 和 window.showModelessDialog 弹出的窗口的功能
      

  4.   

    以下是DelphiBBS 上得到的回答,已经解决
    ------------------------------------------------------------------------------------
    http://www.euromind.com/iedelphi/embeddedwb.htm 
    上面的OnShowDialog事件就可以捕获要更强就要hook TEmbeddedWB的wndproc过程,响应消息事件WM_ACTIVATE 
    如果不会hook,用TForm的应该也可以响应WM_ACTIVATE消息。自己试试,不要偷懒。如果你想屏闭广告窗口,就比较难,因为:
    1. 100%判断窗口是否广告很难
    2. 广告使用的javascript越来越高明和隐蔽,这是IE的缺陷,即使打了SP2,广告商还有办法弹窗口