我用webBrowser1调用网页,网页中有“关闭窗口”按钮,点击这个按钮,弹出提示关闭窗口对话框,然后点确定后,网页就返回不了了,提示“对 COM 组件的调用返回了错误 HRESULT E_FAIL”,这个问题如何解决?如何屏蔽网页中的关闭窗口按钮?

解决方案 »

  1.   

    在documentcomplete中添加如下代码
    mshtml.IHTMLDocument2 doc = browser.Document as mshtml.IHTMLDocument2;
                doc.parentWindow.execScript("window.alert=null", "javascript");
                doc.parentWindow.execScript("window.confirm=null", "javascript");
                doc.parentWindow.execScript("window.open=null", "javascript");
                doc.parentWindow.execScript("window.showModalDialog=null", "javascript");
                doc.parentWindow.execScript("window.close=null", "javascript");
    (browser是你的Webbrowser对象,可以这样获得WebBrowser browser = sender as WebBrowser;)
      

  2.   

    mshtml.IHTMLDocument2 doc = browser.Document as mshtml.IHTMLDocument2;我编译时这句报错:
    错误 30 无法通过引用转换、装箱转换、取消装箱转换、包装转换或 Null 类型转换将类型“System.Windows.Forms.HtmlDocument”转换为“mshtml.IHTMLDocument2” 请问怎么解决?
      

  3.   

    建议你的需求通过记录URL来实现。也就是说当你关闭后,再返回时,调用关闭前的URL重新加载网页
      

  4.   

    弹出关闭窗口按钮确认后,webBrowser1好像被注销了,加载页面提示: 对 COM 组件的调用返回了错误 HRESULT E_FAIL。