QTP 浏览器最大化、最小化,适用于IE6\7\8

  昨天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

 

posted @ 2012-02-15 15:37  Sirrah  阅读(1967)  评论(0编辑  收藏  举报