关于QTP10根据句柄最大化ie的问题
在QTP9.2中,获取IE句柄有两种方法(据我所知)Browser("xxx").GetRoProperty("hwnd")
Browser("xxx").Object.HWND
而且,两种方法取出来得结果是一样的
当我使用QTP10.0的时侯,发现这两种方法取出来的结果不同了,如果把浏览器定义为Window( 比如说得到句柄,然后最大化ie)就需要使用.object.HWND的方法.可是,有的情况下,第二种方法取不到句柄,这时候,我如果要最大化ie,应该怎么做?麻烦大家提供个思路,谢谢 楼上的你是怎么学习QTP的呀 慢慢学,我貌似没有系统的学习过,用到什么就看什么~汗! 很多情况下都是看帮助,有的函数或者什么的用法简直就是蒙的~可是蒙对了就好~给提供个思路嘛~
Window("text:=xxx").Maximize这个我用了,不过好像不行~ 第二种方法取到句柄和第一个方法取到的值不一样吗?如果是同一个浏览器的话应该是一样的。句柄在窗口关闭后重新打开是会变的哟。即使是同一个窗口。会不会是这个问题? 不是,明显不是,ls的,难道你也用QTP10?会不会是我的QTP10装的有问题,我往这个方向考虑了 Set shell = CreateObject("Shell.Application")
Set shellWindows = shell.Windows
For Each ie In shellWindows
If InStr(1,ie.FullName, "IEXPLORE.EXE", vbTextCompare) <> 0 then
Window("hwnd:=" &ie.HWND).Maximize
End if
Next
这个方法明显可以,但是是最大化所有的ie,有点不完美~ Set shell = CreateObject("Shell.Application")
Set shellWindows = shell.Windows
'msgbox "started"
For Each ie In shellWindows
If InStr(1,ie.FullName, "IEXPLORE.EXE", vbTextCompare) <> 0 then
If Instr(1, Window("hwnd:=" &ie.HWND).GetROProperty("text"), "test.doc", vbTextCompare) <> 0 Then
Window("hwnd:=" &ie.HWND).Maximize
End If
End if
Next
就这样了,我所要最大化的IE的标题里面有个"test.doc",现在问题解决了~
页:
[1]