Запуск без консоли subprocess

у меня в программе через subprocess запускается внешняя программа, при чём она состоит из консоли и приложения, как сделать эту консоль скрытой? функция subprocess.call


Ответы (1 шт):

Автор решения: Fox Fox

Функция, прячущая либо показывающая консоль (без привязки к этой теме):

 def show_console(v_mode = 0):
  import ctypes
  ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), v_mode)

v_mode = 0 - спрятать консоль, v_mode = 3 - распахнуть консоль Этим пользуюсь я лично, самый правильный путь.

Есть ещё такое, но я лично не тестировал:

import subprocess

startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

subprocess.call(
    ['your_program.exe'],
    startupinfo=startupinfo,
    creationflags=subprocess.CREATE_NO_WINDOW
)
→ Ссылка