昨天QTP中要用到浏览器最大化、最小化功能。
于是上网搜索,由于本人装的是IE8,网上搜索出来的代码运行一直报错,后来发现那段代码只适用于IE6。
于是又参照另一段代码修改适用于IE7、8的,本来那段代码是最大化所有的IE浏览器,与我需要的不一致。
后来我修改了下,改为通过hwnd来操作想要最 大化、最小化的浏览器,具体代码如下:
Function GetIEVersion()
KeyPath = "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Version"
Set objShell = CreateObject("WScript.Shell")
GetIEVersion = Split(objShell.RegRead(KeyPath),".")(0)
Set objShell = Nothing
End Function
'longhwnd: 浏览器的hwnd值
'intOperate: 操作标记,1代表最大化,2代表最小化,3代表还原大小
Function BrowserOperates(longhwnd,intOperate)
If GetIEVersion = 6 Then
Select Case intOperate
Case 1
Window("hwnd:=" & longhwnd).Maximize
Case 2
Window("hwnd:=" & longhwnd).Minimize
Case 3
Window("hwnd:=" & longhwnd).Restore
End Select
Else
Set BrowserDesc_1= Description.Create()
Set BrowserDesc_2= Description.Create()
BrowserDesc_1("micClass").Value = "Browser"
BrowserDesc_2("NativeClass").Value = "IEFrame"
Set BrowserList_1= Desktop.ChildObjects(BrowserDesc_1)
Set BrowserList_2 = Desktop.ChildObjects(BrowserDesc_2)
For i = 0 To BrowserList_1.count - 1
If BrowserList_1(i).GetROProperty("hwnd") = longhwnd Then
Select Case intOperate
Case 1
BrowserList_2(i).Maximize
Case 2
BrowserList_2(i).Minimize
Case 3
BrowserList_2(i).Restore
End Select
Exit Function
End If
Next
End if
End Function