xpban2006 发表于 2009-7-10 15:17:00

_IECreate怎么判断无法连接?

If @error<>0 Then
      _IEAction ($oIE, "quit")
      MsgBox(4096, "Test", "这是因为错误退出的", 10)
      Exit
EndIf
好像不行哦,我把本地连接设置禁用了,不能判断,程序还是往下执行。

jieelin 发表于 2009-7-10 17:46:01

是有这个问题的,无法打开网页但不会返回ERROR.

可以通过读取网页内容也判断是否打开了需要的网页.

lynfr8 发表于 2009-7-10 22:58:02

本帖最后由 lynfr8 于 2009-7-11 02:27 编辑

要注意的是_IEDocReadHTML读取网页内容断网也会返回网页源码的

别用ERROR作为联网断网指标
非要用_IEDocReadHTML最好加个StringInStr 检测

试下以下这个方法,先把本地连接设置禁用试试 Global Const $NETWORK_ALIVE_LAN = 0x1
Global Const $NETWORK_ALIVE_WAN = 0x2
$x =DLLCall("sensapi.dll","int","IsNetworkAlive","str",$NETWORK_ALIVE_LAN)
msgbox (4096,"测试",$x)
; 1 为通,0 为断

cnsnc 发表于 2009-7-11 09:41:14

如果只是判断网络是否联通,PING一下就可以,楼上两们的方法也可以用。另外网页出错有好几种情况,可以根据网页源码出现的特定内容来判断是何种错误。

shang1018 发表于 2009-7-12 07:13:30

是有这个问题,我也碰到这个问题,我是用以下代码解决的
        $oIE = _IECreate ("www.edu.cn",0,0)
        $sText = _IEBodyReadText ($oIE)   ;返回打开网页<body>标记内的文字
        $location = StringInStr($sText, "关键字:");匹配正常网页的关键字
页: [1]
查看完整版本: _IECreate怎么判断无法连接?