意思是:用webBrowser浏览网页,当网页某些操作弹出对话框(确定/取消)时,怎样实现让程序自动点击确定或者取消按钮

解决方案 »

  1.   

    Windows API 中的SendMessages可以解决这个问题  但是要捕捉窗体句柄和按钮的句柄  思路是这样的了 
      

  2.   

    TO: m2741454能否给个例子看看
      

  3.   


            //using mshtml;
            //using SHDocVw;
            private void Form1_Load(object sender, EventArgs e)
            {
                this.webBrowser1.Navigate("http://localhost:28512/WebSite2/Default.aspx");
                SHDocVw.WebBrowser wb = this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser;
                wb.NavigateComplete2 += new SHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(wb_NavigateComplete2);
                 
            }        void wb_NavigateComplete2(object pDisp, ref object URL)
            {
                mshtml.IHTMLDocument2 doc = (this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).Document as mshtml.IHTMLDocument2;
                doc.parentWindow.execScript("function alert(str){return ''}", "javascript");
            }
      

  4.   

    同样你可以屏蔽掉confirm,showModalDialog...等函数
      

  5.   

    TO: jinjazz同样你可以屏蔽掉confirm,showModalDialog...等函数要是屏蔽了也可以自动确认吗?有相关的例子参考吗?
      

  6.   

    function confirm(str){return true} 
      

  7.   

    谢谢jinjazz答复!我试了一下。我是在网页点击了提交的时候才弹出的确认对话框,我把它写到点击按钮事件里,但是它会弹出对话框,等待我确认后了才执行“function   confirm(str){return  true}",所以还是不行,不知道该把它写在那里触发
      

  8.   

    忘了说,我用的是webbrowser控件。不知道是不是哪里需要改动
      

  9.   

    关注:webbrowser(c#)
    QQ:136170062
      

  10.   

    点击按钮时都不会发生newwindow,navigating,navigated,downloadcompleted这几个事件,都是先弹出对话框等待确认