как открыть свернутый хром с помощью cmd

Я пишу сценарий с помощью Python, чтобы помочь мне управлять открытыми страницами браузера. Я использую os.system ("start ..."), чтобы открыть Chrome, и я хочу, чтобы он открывался как свернутая программа.

Я заметил, что я не могу сделать это с помощью флага / min (я пробовал «start / min chrome www.google.com») не из скрипта python, а также не из самой командной строки или RUN.

Кто-нибудь знает, как открыть свернутое хромированное окно? Или, может быть, вместо этого команда для минимизации существующего окна Chrome (я открою ее, а затем сверну, надеюсь, это будет достаточно быстро, чтобы я заметил)?

Все, что я нашел, это как минимизировать саму командную строку. Флаг / min отлично работает, когда я использую «блокнот start / min» из cmd. Я использую операционную систему Windows XP, если это так важно.


person Tomer Schweid    schedule 13.12.2013    source источник


Ответы (2)


http://code.google.com/p/pywinauto/

может быть полезно.

Основываясь на примере, можно использовать " Minimize () "для выполнения работы:

def do_test_1():

  "1st Watsup Test"

  app = Application().start_(r"c:\windows\Notepad")
  notepadWindow = app.Notepad

  notepadWindow.Edit1.SetEditText(u"Hello, 鋑ain!", 0, -1)
  sleep(0.8)
  notepadWindow.Edit.SetEditText("\r\nYou still there?")

  sleep(0.2)
  notepadWindow.Edit.SetEditText("\r\nGoing Bye Bye now!!")

  sleep(1)
  notepadWindow.Minimize()

  sleep(1)
  notepadWindow.Restore()
person Zhan.Shi    schedule 13.12.2013
comment
Мне нужно установить модуль приложения? Я скопировал то, что вы написали, и импортировал все, что он импортировал в свой сценарий, то есть импорт sys из time import sleep import os import os.path из приложения импорта приложения WindowNotFoundError И я получил ошибку компиляции: ImportError: No module named application - person Tomer Schweid; 14.12.2013
comment
В среде Windows вы можете просто запустить следующую строку, чтобы добавить библиотеку: set PYTHONPATH = ‹pywinauto dir›;% PYTHONPATH%, и библиотеку также можно установить в каталог пакетов вашего сайта, запустив его setup.py. - person Zhan.Shi; 14.12.2013
comment
О, библиотеку можно получить из googlecode с помощью: hg clone code.google.com/p/pywinauto, для его получения вам понадобится Mercurial. - person Zhan.Shi; 14.12.2013
comment
Я установил pywinauto и не совсем уверен, что знаю, как он работает. когда я импортировал модуль и написал app = Application (). start_ (rc: \ windows \ Notepad) в интерпретаторе python, я получил следующую ошибку: Traceback (последний вызов последним): File ‹stdin›, строка 1, в ‹ модуль ›NameError: имя 'apllication' не определено. В любом случае, я был бы рад, если есть ответ, который будет через команду cmd, так как я мог бы написать пакетный скрипт, который должен его использовать. - person Tomer Schweid; 14.12.2013
comment
Фактически, приведенный выше пример code.google.com/p / pywinauto / source / browse / examples / не очень хорошо работает на моей стороне, среди трех тестов я удалил третий и его импорт WindowNotFoundError, чтобы его можно было выполнить, но он должен быть в состоянии решить окно минимизировать проблему. Я разместил измененный код здесь: gist.github.com/ShiZhan/7953307. - person Zhan.Shi; 14.12.2013

Я написал это, чтобы получить требуемый результат.

возможно, это не лучший код, если честно, но после нескольких часов попыток это действительно сработало.

Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr

Private Const SW_SHOWMAXIMIZED As Integer = 3
Private Const SW_SHOWMINIMIZED As Integer = 2
Private Const SW_SHOWNORMAL As Integer = 1


            ' Start Chrome with a Blank document so we know what the Name will be.
            ' This is a bit of a work around but after trying for hour to get the handle 
            ' the the actual Chrome window that opens this is the only way.
            Process.Start("Chrome.exe", "--new-window --start-fullscreen _Blank")  ' C:\Program Files (x86)\Google\Chrome\Application\

            ' Need to wait until the window has been initalised, the name will not be set until
            ' the page has been loaded. Chrome will take a little while to start and then 
            ' realise that "_Blank" is not a valid URL.
            ' We will loop round for 30 seconds, after the the page will not be opened.
            Dim LongTimeEscapeCounter = 300
            While iHwndOrderStatusScreen = 0 And LongTimeEscapeCounter <> 0
                LongTimeEscapeCounter = LongTimeEscapeCounter - 1
                iHwndOrderStatusScreen = FindWindow(vbNullString, "http://_Blank/ is not available - Google Chrome")
                Sleep(100)
            End While
            Debug.Print("Chrome Handle: " & iHwndOrderStatusScreen.ToString)
            If iHwndOrderStatusScreen = 0 Then
                MsgBox("Failed to find the Google Chrome Handle, reboot the PC and try again.", vbOKOnly + vbExclamation, "Error")
                Exit Sub
            End If

            ' Open the actual page the user wants
            Process.Start("Chrome.exe", txtFileName2.Text)
            Sleep(5000)
            ShowWindow(iHwndOrderStatusScreen, SW_SHOWMINIMIZED)
            Beep()

Кев

person Kev    schedule 19.12.2014