Недавно я попытался создать новый регистратор ключей и использовал этот фрагмент кода, чтобы запустить его как фоновый процесс:
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 имеют расширение .py. Если вы хотите запускать свою программу, не открывая окно консоли, измените расширение на .pyw. Чтобы преобразовать файл .py в файл .exe (с помощью PyInstaller), который не открывает консоль, используйте одну из следующих команд (см. здесь для получения дополнительной информации):
pyinstaller -w yourfile.py
pyinstaller --windowed yourfile.py
pyinstaller --noconsole yourfile.py
спасибо, я использую эту команду, и она работает правильно: pyinstaller --onefile --noconsole KeyLogger.py
Я конвертирую .py в .exe, затем запускаю его. Я хочу, чтобы мой файл .exe запускался без какого-либо открывающегося окна консоли, а не мой .py, и когда я использую подпроцесс lib, он автоматически запускает его, не показывая никакого окна, но он не работает, когда я конвертирую его в .exe