Python以.exe运行进程而不打开任何控制台窗口

Ali*_*Ali 0 python subprocess pyinstaller keylogger python-3.x

最近,我尝试制作一个新的Key logger,并使用这段代码将其作为后台进程运行:

DETACHED_PROCESS = 0x00000008

pid = subprocess.Popen([sys.executable, "KeyLogger.py"],
                       creationflags=DETACHED_PROCESS).pid  
Run Code Online (Sandbox Code Playgroud)

当我将其作为python文件运行时,我的代码正常工作,但当我使用以下命令将其转换为.exe文件时:

pyinstaller --onefile myfile.py
Run Code Online (Sandbox Code Playgroud)

它不再起作用了.但是当我删除这段代码时:

DETACHED_PROCESS = 0x00000008

    pid = subprocess.Popen([sys.executable, "KeyLogger.py"],
                           creationflags=DETACHED_PROCESS).pid   
Run Code Online (Sandbox Code Playgroud)

它工作正常.现在,我正在寻找一种新方法来运行我的python代码作为后台进程(如.exe),而不显示任何控制台窗口. 另外,我很抱歉在我的问题中写错了.

Flo*_*lob 5

通常,python文件的扩展名为.py.如果要在不打开控制台窗口的情况下运行程序,请将扩展名更改为.pyw.要将.py文件转换为无法打开控制台的.exe文件(使用PyInstaller),请使用以下命令之一(有关详细信息,请参阅此处):

pyinstaller -w yourfile.py

pyinstaller --windowed yourfile.py

pyinstaller --noconsole yourfile.py

  • 我将 .py 转换为 .exe,然后运行它。我希望我的 .exe 文件在没有任何打开的控制台窗口而不是我的 .py 的情况下运行,当我使用子进程库时,它会自动运行它而不显示任何窗口,但是当我将其转换为 .exe 时它不起作用 (2认同)
  • 谢谢,我使用这个命令并且它正常工作:`pyinstaller --onefile --noconsole KeyLogger.py` (2认同)