【问题标题】:How to Maximize Screen from VBScript?如何从 VBScript 最大化屏幕?
【发布时间】:2018-12-19 19:24:08
【问题描述】:

显示数据库信息的 Web 应用程序在全屏模式下比小窗口更具可读性。问题是,我无法从 UFT/QTP 最大化窗口。

我尝试从 Wscript.Shell 运行浏览器对象,但应用程序返回到 UFT 并最大化该窗口而不是新创建的浏览器窗口。

siteA = "https://google.com"
Const max_window = 3
Set browobj = CreateObject("Wscript.Shell")
Set oShell = CreateObject("WScript.Shell")
'browobj.Run "chrome -k -incognito -url "&siteA
browobj.Run "chrome -incognito -url "&siteA, max_window
oShell.SendKeys "% x"
browobj.sendkeys "{F9}"
browobj.sendkeys "(% )X"
browobj.SendKeys "% x"

Set browobj = Nothing

使用新浏览器的焦点对象最大化窗口的任何解决方案?

编辑:

即使在下面也不会最大化,因为List of Controls 不起作用。

SystemUtil.Run "chrome.exe" , siteA ,,,3 
chrome.exe  --incognito --start-maximized

如果您关闭所有 chrome 实例,这些控件可以正常工作,但如果您在 chrome 中有一个活动窗口,它将采用这些属性。

【问题讨论】:

标签: vbscript qtp hp-uft maximize-window wscript.shell


【解决方案1】:

我们在浏览器登录过程中定义了一个函数,该函数抓取窗口并将其最大化,以便我们的 UFT 进程使用(几乎)全屏浏览器运行 - 我们不需要隐藏菜单栏等。这是我们正在使用的函数:

Public Function MISC_MaximiseBrowser(ByVal oBrowser, ByRef ErrorMsg)
    LOG_Write vbNewLine & "MISC_MaximiseBrowser"
    LOG_Write "oBrowser: " & oBrowser.GetROProperty("TestObjectName")

    Dim Hwnd
    dim bIsMax, bIsMaxable

    MISC_MaximiseBrowser = True

    Hwnd = oBrowser.Object.HWND

    If Window("hwnd:=" & Hwnd).GetROProperty("maximized") Then
        bIsMax = True
    Else
        bIsMax = False
    End If

    If Window("hwnd:=" & Hwnd).GetROProperty("maximizable") Then
      bIsMaxable = True
    Else
      bIsMaxable = False
    End If

    If Not bIsMax And bIsMaxable Then
        Window("hwnd:=" & Hwnd).Maximize
    End If

End Function

它的作用是接受您正在使用的Browser UFT 对象并获取它的句柄。如果浏览器尚未最大化并且可以最大化它,它将这样做。

您可以忽略函数开头的 LOG_Write 语句 - 这些语句用于我们的内部日志记录步骤

【讨论】:

    猜你喜欢
    • 2011-10-27
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多