使用webbrowser作为浏览器,网页中使用window.alert("")弹出一个提示框,如果通过程序将该提示框关掉,或者使它不出现。

解决方案 »

  1.   

    这确实是个问题,不好找呀,还是从根本上解决吧。
    你研究一下newwindow2这个过程
    它可以禁止弹出式窗口。
      

  2.   

    flyforlove所说可以实现~~
    遍历当前进程的全部窗体,如果类名是弹出的对话框则发送关闭消息~~
    //参考如下函数~~
    EnumWindows(); //搜索全部窗体~~
    GetWindowThreadProcessId(); //到得当前窗体所在进程ID~~
    GetClassName(); //取得窗体的类型名~~
    SendMessage(.., WM_CLOSE, .., ..);
      

  3.   

    windows API不是很懂,伴水能不能详细一点?
      

  4.   

    var
      Hwnd: THandle;
    Hwnd := FindWindow(PChar('#32770'), PChar('Microsoft Internet Explorer'));
    if Hwnd <> 0 then SendMessage(Hwnd, WM_CLOSE, 0, 0);
      

  5.   

    var
      Hwnd: THandle;
    Hwnd := FindWindow(PChar('#32770'), PChar('Microsoft Internet Explorer'));
    if Hwnd <> 0 then SendMessage(Hwnd, WM_CLOSE, 0, 0);
      

  6.   

    to ehom(?!) 谢谢回复,我还没有来得及的测试是否可行,但是我觉得有个问题就是我说的是要关掉页面里使用alert弹出的提示框,这个提示框和showmessage的类似,而不是弹出的新的ie窗口。而在你的FindWindow里面,后一个参数时ie,这样可以吗?另外的疑问是前面的这个参数是怎么得到的,想学window api有什么好的电子教材?
      

  7.   

    #32770是Dialog的Class,'Microsoft Internet Explorer'是其Caption有本"Windows程序设计"这样的书对其作出一般性了解即可Win API没什么好学的,用的时候查MSDN就行了