新年好,问一个多标签浏览器关闭指定标签的问题? [已解决]
本帖最后由 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();') 弹出另一个标签页了
有时连操作 $oie 这个对象也会出错
要关闭弹出的标签页
先找出弹出标签页的进程ID(非$oie的'父'进程)或本身的句柄(非$oie的'父'句柄)……这里面有点矛盾!俺也在学习~~~ 弹出另一个标签页了
有时连操作 $oie 这个对象也会出错
要关闭弹出的标签页
先找出弹出标签页的进程ID(非 ...
_ddqs. 发表于 2011-1-1 15:21 http://www.autoitx.com/images/common/back.gif
我这里倒还好,只是用send的方式不太好,用controlsend的方式也得是当前活动页且程序是活动窗口时才有效,努力查找中...... 暂时没IE可测试,不过可以通过_IEPropertyGet($oie,"hwnd")来返回主窗口的句柄,然后可以通过发送消息或按键的方式来关闭 刚刚接触 好好学习下 暂时没IE可测试,不过可以通过_IEPropertyGet($oie,"hwnd")来返回主窗口的句柄,然后可以通过发送消息或按键的 ...
ceoguang 发表于 2011-1-1 18:55 http://www.autoitx.com/images/common/back.gif
测试未成功,曾试过用获取控件父进程的方法也未成功,如果能对进程发送ctrl+w就可以实现关闭了 没有对进程发送按键一说吧
现在用chrom,等下找台IE8试试. 回复 6# kevinch
如果新标签页非活动
你发送CTRL+W会不会关掉主页面 回复 6# kevinch
获取主进程用OBJ句柄获取返回的就是 要实现关闭
最好应该是关闭新开页(或窗)的句柄,不要去理会进程
因为,IE进程开多了它不会再开新进程显示新页(或弹新窗)^在这里就没有可处理的进程. 回复 7# ceoguang
期待....
最好找出OBJ的子进程及子进程的句柄并新开的子进程(或线程)及其句柄 本帖最后由 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}")这个可以了,不过是利用创建后浏览的页面是活动的,如果手动更改了的话,关闭会出错,期待高手进一步改进。 controlsend("","",objget($oie),"^{w}")
-------------------------------------------------
objget - 竟这样给你挖出来用,以下都可关闭
-------------------------------------------------
controlsend("","", "","^{w}")
controlsend("","", 1,"^{w}")
controlsend("","", 0,"^{w}")
controlsend("","", "","^{w}") 本帖最后由 _ddqs. 于 2011-1-2 23:02 编辑
百度搜的关闭命令不对
先锁定原页面,关闭除锁定标签外的全体标签(窗口)的命令 ie多个标签其实不好处理。。
页:
[1]
2