找回密码
 加入
搜索
查看: 1010|回复: 7

[网络通信] 如何获取其它程序打开的IE浏览页的地址或标题【已解决】

[复制链接]
发表于 2022-2-3 20:42:38 | 显示全部楼层 |阅读模式
本帖最后由 z761003 于 2022-2-3 23:08 编辑

不知道有没办法获取其它程序已经打开了的IE浏览器页面的URL地址,或者页面标题(非窗口标题),我在页面上用右键选属性是很容易看到这两项的,不知道WINDOWS有没这方面API获取得到.
发表于 2022-2-3 21:20:36 | 显示全部楼层

#include <ie.au3>
Local $aWinlist = WinList('[class:IEFrame]')
If $aWinlist[0][0] Then
        For $i = 1 To $aWinlist[0][0]
                Local $hWndIE = $aWinlist[$i][1]
                Local $oIE = _IEAttach($hWndIE, "hwnd")
                If IsObj($oIE) Then
                        ConsoleWrite('+ url: ' & _IEPropertyGet($oIE, 'locationurl') & @CRLF)
                        ConsoleWrite('+ title: ' & _IEPropertyGet($oIE, 'title') & @CRLF)
                        $oIE = 0
                EndIf
        Next
EndIf


 楼主| 发表于 2022-2-3 22:23:45 | 显示全部楼层
谢谢,这个好像自己开的IE窗口能获取成功,对方程序开的也是IE窗口,获取失败,右键看却都是一样的。。
 楼主| 发表于 2022-2-3 22:27:42 | 显示全部楼层
可能是它内嵌了后加了代码来屏蔽了
 楼主| 发表于 2022-2-3 22:56:21 | 显示全部楼层
解决了,内嵌的要用 _IEAttach($hWndIE, "Embedded")  还是感谢楼上兄弟指点
 楼主| 发表于 2022-2-4 16:23:40 | 显示全部楼层
本帖最后由 z761003 于 2022-2-4 18:43 编辑

再问下,像IE这种抛出错误要怎么处理下呀

_IEErrorHandlerRegister ()   ?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2022-2-6 14:18:35 | 显示全部楼层
z761003 发表于 2022-2-4 16:23
再问下,像IE这种抛出错误要怎么处理下呀

_IEErrorHandlerRegister ()   ?

这个只需要在主脚本前面加一行 Local $oMyError = ObjEvent("AutoIt.Error", "ErrFunc")
然后自定义 ErrFunc 函数,在其中处理错误,比如赋值一个全局变量。
最后在容易出错的地方加入检测该变量的值做相应处理即可。
具体可查看帮助文档 COM 出错处理
 楼主| 发表于 2022-2-6 16:40:10 | 显示全部楼层
好的,学会了,我试试,谢谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 21:11 , Processed in 0.079032 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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