Как открыть браузер в свернутом виде? - PullRequest
0 голосов
/ 06 января 2019

код:

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

Как открыть браузер в свернутом виде?

1 Ответ

0 голосов
/ 07 января 2019
; 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 существует, хотя я не могу заставить его работать как упоминается в Параметры командной строки .

Чтобы свести к минимуму при запуске, предоставленный код может помочь. Он найдет 1-е окно, которое видно из класса MozillaWindowClass и попытается свести его к минимуму. Переменная $hFirefox может содержать дескриптор видимое окно Firefox, которое можно использовать после Do цикл завершен.

Некоторый код является необязательным, т. Е. _WinState() используется для вывода Отладочная информация для консоли, чтобы узнать, если окно поиска для видимого окна работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...