happy61 发表于 2009-9-1 15:05:13

autoit如果获得webbrowser的事件?附vb代码

本帖最后由 happy61 于 2009-9-3 23:53 编辑

我想做这样的效果。。

用ie.au3创建一个webbrowser.
然后点击里面的链接<a href="event:aaa>点击我</a>

然后执行指定事件。。

如果vb的代码是这样子的

Private Sub webbrowser_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
Dim Ev As String
If UCase$(Left$(URL, 6)) = "EVENT:" Then

Ev = UCase$(Mid$(URL, 7))
Select Case Split(Ev, "=")(0)
Case "AUTO"
MsgBox "正在自动安装.." & Split(Ev, "=")(1)
Case "RUN"
MsgBox "正在安装.." & Split(Ev, "=")(1)
Case "CLOSE"
If MsgBox("Are you sure you want to exit?", _
vbYesNo) = vbYes Then
End
End If
End Select
Cancel = True
End If
End Sub

---------------------------------------

autoit怎样实现呢?

happy61 发表于 2009-9-1 16:59:01

:face (7):有人明白我说什么吗?

happy61 发表于 2009-9-2 01:04:46

:face (8): 还没人知道么??

sxd 发表于 2009-9-2 03:48:56

au3用IE的udf来实现

happy61 发表于 2009-9-2 21:49:08

au3用IE的udf来实现
sxd 发表于 2009-9-2 03:48 http://www.autoitx.com/images/common/back.gif
我是用ie.au3..

但是不知道怎样实现这个效果吖

baikaifang 发表于 2009-9-2 23:04:22

可以参考帮助文件中的函数“ObjEvent”的示例代码中的ObjEvent($oIE,"IEEvent_","DWebBrowserEvents2"),理论上可以捕获处理webbrowser的所有事件,不过很可惜,Autoit对webbrowser对象的支持好像并不完善,webbrowser的很多事件不能正常的处理,不知道是我的问题,还是怎么了,本人在官网查过很多这方面的贴子,都是没有办法解决的贴子,估计是Autoit的Bug。

http://www.autoitx.com/forum.php?mod=viewthread&tid=8144&page=2#pid79106

happy61 发表于 2009-9-3 13:17:24

我这个是用ie.au3的哦。。不过如果就算捕获了。。也不带参数。。也是没意义啊。。

happy61 发表于 2009-9-3 15:57:46

绑定了DWebBrowserEvents2好像无限循环都有啊

happy61 发表于 2009-9-3 23:52:57

非常感谢。。可以结贴了

Func IEEvent_BeforeNavigate2($pDisp, $URL,$Flags, $TargetFrameName, $PostData, $Headers, $Cancel)
MsgBox(8192 + 64,"text",$URL)

EndFunc

alaws 发表于 2013-12-13 12:10:19

很好,学习了
页: [1]
查看完整版本: autoit如果获得webbrowser的事件?附vb代码