Python запускает процесс как .exe без открытия каких-либо окон консоли

Недавно я попытался создать новый регистратор ключей и использовал этот фрагмент кода, чтобы запустить его как фоновый процесс:

DETACHED_PROCESS = 0x00000008

pid = subprocess.Popen([sys.executable, "KeyLogger.py"],
                       creationflags=DETACHED_PROCESS).pid  

Мой код работает правильно, когда я запускаю его как файл Python, но когда я конвертирую его в файл .exe, используя:

pyinstaller --onefile myfile.py

это больше не работает. Но когда я удаляю этот фрагмент кода:

DETACHED_PROCESS = 0x00000008

    pid = subprocess.Popen([sys.executable, "KeyLogger.py"],
                           creationflags=DETACHED_PROCESS).pid   

работает нормально. Теперь я ищу новый способ запустить мой код Python в качестве фонового процесса (как .exe) без отображения окон консоли. Кроме того, прошу прощения за ошибки в вопросе.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
1 766
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обычно файлы Python имеют расширение .py. Если вы хотите запускать свою программу, не открывая окно консоли, измените расширение на .pyw. Чтобы преобразовать файл .py в файл .exe (с помощью PyInstaller), который не открывает консоль, используйте одну из следующих команд (см. здесь для получения дополнительной информации):

pyinstaller -w yourfile.py

pyinstaller --windowed yourfile.py

pyinstaller --noconsole yourfile.py

Я конвертирую .py в .exe, затем запускаю его. Я хочу, чтобы мой файл .exe запускался без какого-либо открывающегося окна консоли, а не мой .py, и когда я использую подпроцесс lib, он автоматически запускает его, не показывая никакого окна, но он не работает, когда я конвертирую его в .exe

Ali Akhtari 22.12.2018 19:54

спасибо, я использую эту команду, и она работает правильно: pyinstaller --onefile --noconsole KeyLogger.py

Ali Akhtari 22.12.2018 20:06

Другие вопросы по теме