Убить фоновое окно при запуске .exe из программы Python - PullRequest
2 голосов
/ 01 сентября 2009

ниже приведена строка из программы на Python, которая вызывает файл "demo.exe". окно для demo.exe открывается при его вызове, есть ли способ запустить demo.exe в фоновом режиме? то есть я не хочу, чтобы показывалось окно, я просто хочу запустить demo.exe.

<code>
p = subprocess.Popen(args = "demo.exe", stdout = subprocess.PIPE)

вывод demo.exe используется программой python в режиме реального времени, так что demo.exe нельзя запускать до запуска программы python. demo.exe обрабатывает множество внутренних вычислений. Я использую Windows XP.

спасибо заранее!

Ответы [ 2 ]

4 голосов
/ 01 сентября 2009

Благодаря другой ветке StackOverflow , я думаю, это то, что вам нужно:

startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
p = subprocess.Popen(args = "demo.exe", stdout=subprocess.PIPE, startupinfo=startupinfo)

Я тестировал свой Python 2.6 на XP, и он действительно скрывает окно.

3 голосов
/ 01 сентября 2009

Попробуйте это:

from subprocess import Popen, PIPE, STARTUPINFO, STARTF_USESHOWWINDOW
startupinfo = STARTUPINFO()
startupinfo.dwFlags |= STARTF_USESHOWWINDOW
p = Popen(cmdlist, startupinfo=startupinfo, ...)
...