kevinch 发表于 2011-1-1 13:24:56

新年好,问一个多标签浏览器关闭指定标签的问题? [已解决]

本帖最后由 kevinch 于 2012-3-19 09:35 编辑

#include <ie.au3>
$oie=_iecreate("www.google.com.hk",0,1,1,0)
_ieloadwait($oie)

请教用以上方法打开的网页,在多页面浏览器中,能否使用$oie这个对象后台关闭对应页面?

祝大家新年快乐!


解决方法如下:
$oie.document.parentwindow.execscript('javascript:window.opener=null;window.open("","_self"); self.close();')

_ddqs. 发表于 2011-1-1 15:21:09

弹出另一个标签页了
有时连操作 $oie 这个对象也会出错
要关闭弹出的标签页
先找出弹出标签页的进程ID(非$oie的'父'进程)或本身的句柄(非$oie的'父'句柄)……这里面有点矛盾!俺也在学习~~~

kevinch 发表于 2011-1-1 15:56:46

弹出另一个标签页了
有时连操作 $oie 这个对象也会出错
要关闭弹出的标签页
先找出弹出标签页的进程ID(非 ...
_ddqs. 发表于 2011-1-1 15:21 http://www.autoitx.com/images/common/back.gif

我这里倒还好,只是用send的方式不太好,用controlsend的方式也得是当前活动页且程序是活动窗口时才有效,努力查找中......

ceoguang 发表于 2011-1-1 18:55:11

暂时没IE可测试,不过可以通过_IEPropertyGet($oie,"hwnd")来返回主窗口的句柄,然后可以通过发送消息或按键的方式来关闭

455901394 发表于 2011-1-1 20:32:51

刚刚接触 好好学习下

kevinch 发表于 2011-1-2 17:17:06

暂时没IE可测试,不过可以通过_IEPropertyGet($oie,"hwnd")来返回主窗口的句柄,然后可以通过发送消息或按键的 ...
ceoguang 发表于 2011-1-1 18:55 http://www.autoitx.com/images/common/back.gif
测试未成功,曾试过用获取控件父进程的方法也未成功,如果能对进程发送ctrl+w就可以实现关闭了

ceoguang 发表于 2011-1-2 17:20:40

没有对进程发送按键一说吧
现在用chrom,等下找台IE8试试.

_ddqs. 发表于 2011-1-2 19:29:28

回复 6# kevinch


    如果新标签页非活动
你发送CTRL+W会不会关掉主页面

_ddqs. 发表于 2011-1-2 19:31:11

回复 6# kevinch


    获取主进程用OBJ句柄获取返回的就是

_ddqs. 发表于 2011-1-2 19:39:14

要实现关闭
最好应该是关闭新开页(或窗)的句柄,不要去理会进程
因为,IE进程开多了它不会再开新进程显示新页(或弹新窗)^在这里就没有可处理的进程.

_ddqs. 发表于 2011-1-2 19:42:56

回复 7# ceoguang


    期待....
最好找出OBJ的子进程及子进程的句柄并新开的子进程(或线程)及其句柄

kevinch 发表于 2011-1-2 21:14:47

本帖最后由 kevinch 于 2011-1-2 21:20 编辑

#include <ie.au3>

$oie=_iecreate("www.google.com.hk",0,1,1,0)
_ieloadwait($oie)
msgbox(0,"","OK",5)
controlsend("","",objget($oie),"^{w}")这个可以了,不过是利用创建后浏览的页面是活动的,如果手动更改了的话,关闭会出错,期待高手进一步改进。

_ddqs. 发表于 2011-1-2 22:40:30

controlsend("","",objget($oie),"^{w}")
-------------------------------------------------
objget - 竟这样给你挖出来用,以下都可关闭
-------------------------------------------------
controlsend("","", "","^{w}")
controlsend("","", 1,"^{w}")
controlsend("","", 0,"^{w}")

controlsend("","", "","^{w}")

_ddqs. 发表于 2011-1-2 22:55:03

本帖最后由 _ddqs. 于 2011-1-2 23:02 编辑

百度搜的关闭命令不对
先锁定原页面,关闭除锁定标签外的全体标签(窗口)的命令

minterz 发表于 2011-1-3 11:07:38

ie多个标签其实不好处理。。
页: [1] 2
查看完整版本: 新年好,问一个多标签浏览器关闭指定标签的问题? [已解决]