找回密码
 加入
搜索
查看: 1934|回复: 4

[IE类操作] 内镶IE如何做到下面描述的功能

  [复制链接]
发表于 2012-2-20 10:21:09 | 显示全部楼层 |阅读模式
本帖最后由 自然 于 2012-2-20 10:22 编辑

内镶一个IE,有多个网址,
打开第一个网址15秒如没加载完成则执行打开第二个网址,
第二个网址15秒如没加载完成则执行打开第三个网址,
第三个网址15秒如没加载完成则执行打开第四个网址,依此类推
如第一个网址加载完成则不再打开后面的网址,依此类推
#include<ie.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate(" test ", 850, 520, -1, -1)
$oIE = _IECreateEmbedded()
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 850, 520)
$oIE.navigate("http://www.sina.com.cn/")
$oIE.navigate("http://www.163.com/")
$oIE.navigate("http://www.hao123.com/")
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd
发表于 2012-2-20 10:23:20 | 显示全部楼层
看看,我也不太会,有同样的问题
发表于 2012-2-20 14:11:36 | 显示全部楼层
看看,帮顶
发表于 2012-2-21 01:32:17 | 显示全部楼层
本帖最后由 lixiaolong 于 2012-2-21 01:33 编辑

回复 1# 自然

试试这个.
#include<ie.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate(" test ", 850, 520, -1, -1)
$oIE = _IECreateEmbedded()
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 850, 520)

_IENavigate_2($oIE, "http://www.sina.com.cn/", 1, 15000) ;1000 = 1秒
If @error = 6 Then _IENavigate_2($oIE, "http://www.163.com/", 1, 15000)
If @error = 6 Then _IENavigate_2($oIE, "http://www.hao123.com/", 1, 15000)

GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

Func _IENavigate_2(ByRef $o_object, $s_Url, $f_wait = 1, $Time_out = 300000)
        If Not IsObj($o_object) Then
                __IEErrorNotify("Error", "_IENavigate", "$_IEStatus_InvalidDataType")
                Return SetError($_IEStatus_InvalidDataType, 1, 0)
        EndIf
        ;
        If Not __IEIsObjType($o_object, "documentContainer") Then
                __IEErrorNotify("Error", "_IENavigate", "$_IEStatus_InvalidObjectType")
                Return SetError($_IEStatus_InvalidObjectType, 1, 0)
        EndIf
        ;
        $o_object.navigate($s_Url)
        If $f_wait Then
                _IELoadWait($o_object, 0, $Time_out)
                Return SetError(@error, 0, -1)
        EndIf

        Return SetError($_IEStatus_Success, 0, -1)
EndFunc   ;==>_IENavigate_2

评分

参与人数 2金钱 +40 收起 理由
自然 + 20 非常感激
afan + 20

查看全部评分

 楼主| 发表于 2012-2-21 08:18:37 | 显示全部楼层
这功能我是想搞个网络电视直播的,当一个地址失效,15秒后连接另一个地址播放
如能打开则在第一个地址播放。楼上的代码换成信号地址试了下,15秒后第一个地址没打开的情
况下不会跳转到下一个地址,但还是非常感谢楼上的热心回答!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-1 06:55 , Processed in 0.081977 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表