Заставить программу начать сворачиваться - PullRequest
0 голосов
/ 21 марта 2012

Мой вопрос касается программы на python, которую я использую для запуска программы несколько раз из командной строки. Однако каждый раз, когда программа вызывается, окно cmd появляется и закрывает экран, а более раздражающие окна фокусируются на окне cmd (оно выводит окно cmd вперед). Я хотел бы иметь возможность запускать программу в свернутом виде, чтобы я мог продолжать работать без прерываний.

Код, который я использую для вызова внешней программы:

os.system('abaqus cae noGUI=results.py')

Если я изменю py на pyw, cmd по-прежнему всплывает, но затем скрывается примерно через одну секунду, а остальные вычисления не отображаются. Однако CMD все еще появляются. Есть ли способ, которым cmd может начать сворачиваться?

Я пробовал:

def launchWithoutConsole(command, args):
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

    return subprocess.Popen('abaqus cae noGUI=results.py', startupinfo=startupinfo,
                stderr=subprocess.PIPE, stdout=subprocess.PIPE)

Но зависает ...

Ответы [ 2 ]

3 голосов
/ 21 марта 2012

У вас есть программа "PythonW.exe". Это запускает скрипт Python, но без окна консоли.

Если вы действительно хотите, чтобы он был минимизирован, а не скрыт, вы можете запустить его с помощью:

c:\> start /MIN python.exe script.py
0 голосов
/ 21 марта 2012

Если у вас есть win32api для вашего Python, используйте win32process.CreateProcess для большего контроля над созданием процесса. Смотрите Demos / winprocess.py , чтобы узнать о некоторых способах его использования; звучит так, как будто вы хотите либо dwCreationFlags=CREATE_NO_WINDOW, либо startupinfo= PySTARTUPINFO структуру с wShowWindow=SW_SHOWMINIMIZED.

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