找回密码
 加入
搜索
查看: 5290|回复: 12

[IE类操作] IE函数在使用IE内核的其它浏览器出错的问题【已解决】

  [复制链接]
发表于 2011-3-7 23:21:40 | 显示全部楼层 |阅读模式
本帖最后由 xyold1 于 2011-3-9 15:23 编辑

像世界之窗——IE内核的浏览器,在打开它的时候,使用IEUDF函数会出现错误,有什么解决方法吗?

1,修改默认网页浏览器(11楼boyhong 的方法)
2,注册并使用一个自定义COM错误处理程序.(5楼骗子的方法)比较好
 楼主| 发表于 2011-3-7 23:42:13 | 显示全部楼层
#include <IE.au3>
#include <Array.au3>

$a = 'http://tv.tudou.com/albumtop/top/listRank.html?cid=30'
$oIE = _IECreate($a, 1, 0, 1, -1)
$itxt = _IEBodyReadHTML($oIE)

$table = _IETableGetCollection($oIE, 0)
$oInput = _IETableWriteToArray($table) ;读取指定表格内的数据,写入到数组
_ArrayDisplay($oInput, "表单内容", 0, 1) ;显示数组

_IEQuit($oIE)

While 1
        Sleep(100)
WEnd


上面是pcbar版主的一个例子,在开启世界之窗时,运行到_IEQuit($oIE)会使程序崩溃
发表于 2011-3-8 15:01:15 | 显示全部楼层
我暂时的方法:改一下默认的网页浏览器。

评分

参与人数 1金钱 +10 收起 理由
xyold1 + 10

查看全部评分

 楼主| 发表于 2011-3-9 13:22:20 | 显示全部楼层
回复 3# boyhong

谢谢,请教如何用AU3修改默认的网页浏览器?
发表于 2011-3-9 13:59:43 | 显示全部楼层
加一行
_IEErrorHandlerRegister()
错误输出模式?具体什么意思不懂,好像有了这个即使出错也不退出脚本,继续执行下面的内容。
还有我很奇怪楼主的脚本为什么执行完了以后还不退出要不停的循环呢?

评分

参与人数 1金钱 +10 收起 理由
xyold1 + 10 办法不错

查看全部评分

发表于 2011-3-9 14:50:14 | 显示全部楼层
在所有IE内核的非MS浏览器中,IWebBrowser接口都是通过另一单独的窗口调用的(可以理解为拼凑而成)
如此就可以理解为什么使用quit等类似的指令会出错了,因为那样的话它就只剩下地址栏上面的部份了,^_^.
当然,还有很多另类的地方,深入研究后你必会大吃一斤,lol.......

评分

参与人数 1金钱 +10 收起 理由
xyold1 + 10

查看全部评分

发表于 2011-3-9 14:53:44 | 显示全部楼层
在所有IE内核的非MS浏览器中,IWebBrowser接口都是通过另一单独的窗口调用的(可以理解为拼凑而成)
如此就可 ...
ceoguang 发表于 2011-3-9 14:50


要是超版能再简单介绍一下就是我等菜鸟之福了。。。
发表于 2011-3-9 14:54:04 | 显示全部楼层
回复 6# ceoguang
相当给力的讲解,学习啦!

更给力的是“大吃一斤”哈哈!开个玩笑,向大师致敬。
 楼主| 发表于 2011-3-9 14:56:15 | 显示全部楼层
回复 5# 骗子

只是想演示一下这个错误,没别的意思(*^__^*) 嘻嘻……
 楼主| 发表于 2011-3-9 14:58:37 | 显示全部楼层
回复 6# ceoguang

版主讲得很透彻
发表于 2011-3-9 14:58:48 | 显示全部楼层
回复  boyhong

谢谢,请教如何用AU3修改默认的网页浏览器?
xyold1 发表于 2011-3-9 13:22



经过目前测试最有效的方法是,直接决定_iecreate::

If @OSArch = "X86" Then
        Global $HKCR = "HKCR"
Else
        Global $HKCR = "HKCR64"
EndIf
If RegRead($HKCR&"\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32", "")<>'"'&@ProgramFilesDir&'\Internet Explorer\iexplore.exe"' then.........

评分

参与人数 1金钱 +10 收起 理由
xyold1 + 10

查看全部评分

 楼主| 发表于 2011-3-9 15:01:18 | 显示全部楼层
本帖最后由 xyold1 于 2011-3-9 15:07 编辑

回复 11# boyhong

感谢
将这段代码加进_IECreate  和_IEAttach 不知效果如何
发表于 2011-3-9 15:03:15 | 显示全部楼层
要是超版能再简单介绍一下就是我等菜鸟之福了。。。
boyhong 发表于 2011-3-9 14:53

举个简单的例子.
在IE中,你可以直接使用
$oIE.hwnd来获取主窗口的句柄,但是,在很多其它IE内核的浏览器中,你用$oIE.hwnd来获取到的却不是你要的主窗口.明白?
甚至,有些还直接drop掉MSAA
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-12 16:11 , Processed in 0.103269 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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