oemxp 发表于 2009-11-14 23:07:51

如何不让网页弹出?

本帖最后由 oemxp 于 2009-11-14 23:45 编辑

问了好多问题都基本上解决了,这个估计AU3解决不了。
下面例子下的代码如果访问一个会弹窗的网页,就一定会有新IE窗口弹出来,我要怎么才能让他不弹出新IE窗口,我试过
processwait ("iexplore.exe")
processclose ("iexplore.exe")

有的网页弹窗用上面就可以,但是在弹窗关闭前会有个IE窗口闪一下才关掉 ,闪一下也不是最大的问题,最主要的是如果你正好开了几个网页在看网页,只要一运行加了以上代码的程式,所有正在运行的IE都会关闭,一运行我的程式就把人家在看网页的窗口关了,这肯定不行的,请问要如何解决?
还有默认浏览器要是不是IE上面的代码也没有用,因为弹出的窗口是其它浏览器的。


例子:
#include <GUIConstantsEx.au3>
#include <IE.au3>
$Form = GUICreate("建议IE", 633, 454, 80, 50)
$oIE = _IECreateEmbedded ()
GUICtrlCreateObj($oIE,16, 16, 601, 377)
GUISetState(@SW_SHOW)
Opt("GUIOnEventMode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "Event") ;关闭

_Go()

While 1
        Sleep(10)
WEnd

Func _Go();加载网页


      _IENavigate ($oIE, "http://m.qvodsou.com/2009/11/307982.html")

EndFunc

Func Event()
        Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
        Exit
        EndSwitch
EndFunc

ebhb 发表于 2009-11-15 11:54:30

检测IE刚弹出来的时候的窗口标题,都是Microsoft Internet Explorer,所以用以下语句检测。
       If WinExists("Microsoft Internet Explorer") Then
                WinClose("Microsoft Internet Explorer")
EndIf

oemxp 发表于 2009-11-15 12:09:37

楼上的兄弟,我试了没用,一样弹,估计AU3就没有这个功能。

ebhb 发表于 2009-11-15 20:55:49

如果没用的话,那是你的使用方法不正确,把它做成一个函数,然后在程序开始之前用AdlibEnable 来设置调用这个函数的时间,比如每隔250毫秒调用一次,有的话就关闭,没有的话就继续。
AdlibEnable
--------------------------------------------------------------------------------
启用 Adlib 功能.
AdlibEnable ( "函数名" [, 时间] )

oemxp 发表于 2009-11-16 15:15:41

说了没用,有时人家装了其它浏览器并设置为了默认浏览器怎么办?
就算人家没装其它浏览器,你这一关,连其它开着的IE也会关掉。
页: [1]
查看完整版本: 如何不让网页弹出?