找回密码
 加入
搜索
查看: 11023|回复: 29

[IE类操作] 使用ObjEvent会出错?什么情况?

 火.. [复制链接]
发表于 2010-6-25 08:43:51 | 显示全部楼层 |阅读模式
高手帮我看看下面的代码,使用ObjEvent之后,打开新窗口的时候会AU3会崩溃
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 438, 238, 175)
$oIE = ObjCreate("Shell.Explorer.2")
GUICtrlCreateObj($oIE, 4, 4, 607, 389)
$Button1 = GUICtrlCreateButton("Button1", 12, 402, 75, 25)
$Button2 = GUICtrlCreateButton("Button2", 90, 402, 75, 25)
ObjEvent($oIE, "command")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_IENavigate($oIE, "http://www.baidu.com")
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd
func conmand()
msgbox(0,"","111")
EndFunc

相关帖子

发表于 2010-6-25 10:23:18 | 显示全部楼层
本帖最后由 republican 于 2010-6-25 10:27 编辑

上述代码在我电脑上运行无错误。

你声明的Obj想干嘛?

接受IE返回信息的话我就不知道了。

如果是接受错误的话,不是这么用的。

用法参考帮助文档:
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; 建立自定义错误处理程序

; 在这里执行一个预设故障(对象不存在)
$oIE = ObjCreate("InternetExplorer.Application")
;-------------------------------------------

另外,ObjEvent的结果请传递到变量,没有变量的ObjEvent不起作用(至少我测试Autoit.error 如此)。






ms明白了一点, ObjEvent捕捉到新对象后,不知道该怎么做...
 楼主| 发表于 2010-6-25 11:09:32 | 显示全部楼层
本帖最后由 guland 于 2010-6-25 11:11 编辑

回复 2# republican


    我只是想拦截一些信息,不是错误信息,
你试试右键,新窗口中打开,看看AU3会不会崩溃,正常在当前窗口打开连接时没有问题的
但是在新窗口中打开就会崩溃

我只是简单的举个例子,所以不需要加变量
发表于 2010-6-25 11:49:41 | 显示全部楼层
回复 3# guland

嗯嗯, Shell.Explorer.2 有没有更多的说明?
 楼主| 发表于 2010-6-25 12:04:16 | 显示全部楼层
回复 4# republican


    没有..
发表于 2010-6-25 12:31:48 | 显示全部楼层
回复 5# guland

ObjEvent($oIE, "command_",'IWebBrowser2')

这样子可以执行不会出错,现在需要知道的是Objevent传递了什么过来。
 楼主| 发表于 2010-6-25 12:39:38 | 显示全部楼层
回复 6# republican


    那样做是不出错了,可是AU3拦截不到任何函数了,比如BeforeNavigate2等等
发表于 2010-6-25 12:40:23 | 显示全部楼层
哈哈!又学到一招!高人真是无处不在呀!
 楼主| 发表于 2010-6-25 12:50:07 | 显示全部楼层
回复 8# hzxymkb


    你学到啥了啊? 是不是你把我的问题解决了啊
发表于 2010-6-25 12:59:00 | 显示全部楼层
回复 9# guland
您的问题高难度!我解决不了!
我只是学到了6楼朋友的那一招!
给您造成误会!对不起咯!
 楼主| 发表于 2010-6-25 14:42:31 | 显示全部楼层
自己顶一下,到英文网站上逛了一圈也没有什么结果...
 楼主| 发表于 2010-6-25 18:23:19 | 显示全部楼层
人都哪去了啊....
发表于 2010-6-25 18:33:50 | 显示全部楼层
hoho,无解......估计N人都不用IE内嵌...直接正则....
发表于 2010-6-25 18:43:03 | 显示全部楼层
OBJ怎么拦截错误提示呢?AU3貌似直接就退出了。
 楼主| 发表于 2010-6-25 19:00:36 | 显示全部楼层
易语言之类的都能拦截,AU3以拦截就出错....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-17 07:48 , Processed in 0.083674 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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