Как остановить всплывающее окно windows в python? - PullRequest
1 голос
/ 09 июля 2020

У меня есть программа GUI python, которую я создаю с помощью Pyinstaller. Он вызывает несколько других исполняемых файлов с помощью модуля subprocess. Каждый раз, когда вызывается один из этих двоичных файлов, всплывающее окно, связанное с исполняемым файлом, открывается на время его выполнения.

Как мне остановить их появление?

Вот как выглядят мои вызовы например:

import subprocess

def run_command(command):
    return subprocess.check_output(command, stdin=DEVNULL, stderr=DEVNULL).decode()

CMD_BASE  = BLHOST_PATH + " -t 5242000 " + " -u " + " 0x15A2,0x0073 " +  " -j "
CMD_RESET = " -- reset"

run_command(CMD_BASE + CMD_RESET))

Вот мой pyinstaller .spe c файл

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['main.py'],
            #TODO:  Change the paths here to match your environment
             pathex=['c:mypath'],
             binaries=[('blhost.exe','tools'),('sdphost.exe','tools'),('ivt_flashloader.bin','tools')],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='Proj',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=False , icon='asdf.ico')
coll = COLLECT(exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='test')

1 Ответ

0 голосов
/ 10 июля 2020

Понятно: exe-файл NXP-MCUBootUtility создается из Python с использованием pyinstaller, а файл .spe c показывает Console = True, поэтому вы всегда получите консоль, если вы не перестроите exe самостоятельно с помощью console = False

...