如何以折叠形式打开浏览器?

时间:2019-01-06 06:11:35

标签: autoit

代码:

Local $iPID=ShellExecute("C:\Program Files\Mozilla Firefox\firefox.exe", "","","", @SW_MINIMIZE); 

如何以折叠形式打开浏览器?

1 个答案:

答案 0 :(得分:0)

; Optional debugging feature.
Opt('TrayIconDebug', True)

; Run Firefox if not running.
If Not ProcessExists('firefox.exe') Then
    ShellExecute('"C:\Program Files\Mozilla Firefox\firefox.exe"')
EndIf

; Wait for a window to match the class.
WinWait('[CLASS:MozillaWindowClass]')

$hFirefox = 0
$iAbort = 5

Do
    Sleep(1000)

    ; Get all class windows into an array.
    $aWList = WinList('[CLASS:MozillaWindowClass]')

    For $i1 = 1 To UBound($aWList) -1
        ; Get the visible window from the window handle.
        If BitAND(WinGetState($aWList[$i1][1]), 2) Then
            $hFirefox = $aWList[$i1][1]
            _WinState($aWList[$i1][1], $aWList[$i1][0], True)
            ExitLoop 2
        Else
            _WinState($aWList[$i1][1], $aWList[$i1][0], False)
        EndIf
    Next

    $iAbort -= 1
Until Not WinExists('[CLASS:MozillaWindowClass]') Or $iAbort = 0

; Minimize the visible window.
If WinSetState($hFirefox, '', @SW_MINIMIZE) Then
    ConsoleWrite('A Firefox window has been minimized.' & @CRLF)
EndIf

Exit

Func _WinState($hWinHandle, $sWinTitle, $bWinVisible = False)
    ; Debug output for visible state of a window.
    Local $sWinVisible = $bWinVisible ? 'True' : 'False'
    ConsoleWrite(StringFormat('Handle: %s  Visible: %-5s  Title: %s', $hWinHandle, $sWinVisible, $sWinTitle) & @CRLF)
EndFunc

即使您设置了Firefox快捷方式以最小化并使用它 要启动Firefox,Firefox可能无法在启动时最小化。 这就是为什么@SW_MINIMIZE的显示标志 ShellExecute功能可能无法正常工作。

存在一个-tray参数,尽管我无法使其正常工作 在Command Line Options中提到。

为最小化启动时提供的代码,可能会有所帮助。 它将找到该类可见的第一个窗口 MozillaWindowClass,并将尝试将其最小化。 变量$hFirefox可以包含 可见的Firefox窗口,可以在Do之后使用 循环已完成。

某些代码是可选的,即_WinState()用于输出 调试信息以控制台了解窗口是否搜索 可见窗口工作正常。