找回密码
 加入
搜索
查看: 2692|回复: 9

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

[复制链接]
发表于 2009-9-1 15:05:13 | 显示全部楼层 |阅读模式
本帖最后由 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怎样实现呢?
 楼主| 发表于 2009-9-1 16:59:01 | 显示全部楼层
有人明白我说什么吗?
 楼主| 发表于 2009-9-2 01:04:46 | 显示全部楼层
还没人知道么??
发表于 2009-9-2 03:48:56 | 显示全部楼层
au3用IE的udf来实现
 楼主| 发表于 2009-9-2 21:49:08 | 显示全部楼层
au3用IE的udf来实现
sxd 发表于 2009-9-2 03:48

我是用ie.au3..

但是不知道怎样实现这个效果吖
发表于 2009-9-2 23:04:22 | 显示全部楼层
可以参考帮助文件中的函数“ObjEvent”的示例代码中的ObjEvent($oIE,"IEEvent_","DWebBrowserEvents2"),理论上可以捕获处理webbrowser的所有事件,不过很可惜,Autoit对webbrowser对象的支持好像并不完善,webbrowser的很多事件不能正常的处理,不知道是我的问题,还是怎么了,本人在官网查过很多这方面的贴子,都是没有办法解决的贴子,估计是Autoit的Bug。

http://www.autoitx.com/forum.php ... amp;page=2#pid79106
 楼主| 发表于 2009-9-3 13:17:24 | 显示全部楼层
我这个是用ie.au3的哦。。不过如果就算捕获了。。也不带参数。。也是没意义啊。。
 楼主| 发表于 2009-9-3 15:57:46 | 显示全部楼层
绑定了DWebBrowserEvents2好像无限循环都有啊
 楼主| 发表于 2009-9-3 23:52:57 | 显示全部楼层
非常感谢。。可以结贴了

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

EndFunc
发表于 2013-12-13 12:10:19 | 显示全部楼层
很好,学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 07:28 , Processed in 0.077973 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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