我有一个Python程序,可以使用PyInstaller编译成.exe文件。当您打开.exe时,应该没有控制台,没有命令提示符或任何其他内容。它应该完全在后台静默运行Python程序。
是否可以在Python脚本中放置一些内容,使其不打开命令提示符并以静默方式执行?
答案 0 :(得分:1)
是的,在Windows上您可以创建一个bat文件,如下所示:
start /B your_file.exe
将此代码添加到您的应用中:
import ctypes
import os
import win32process
hwnd = ctypes.windll.kernel32.GetConsoleWindow()
if hwnd != 0:
ctypes.windll.user32.ShowWindow(hwnd, 0)
ctypes.windll.kernel32.CloseHandle(hwnd)
_, pid = win32process.GetWindowThreadProcessId(hwnd)
os.system('taskkill /PID ' + str(pid) + ' /f')
答案 1 :(得分:1)
将这一行文本另存为invisible.vbs文件:
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
要隐式运行任何程序或批处理文件,请按以下方式使用它:
wscript.exe "C:\Wherever\invisible.vbs" "C:\Some Other Place\MyBatchFile.bat"
为了也能够传递/中继参数列表,请仅使用两个双引号
CreateObject("Wscript.Shell").Run "" & WScript.Arguments(0) & "", 0, False
示例:Invisible.vbs“ Kill.vbs ME.exe”
答案 2 :(得分:1)
如果此方法无效,则可以使用--noconsole
选项
将spec文件设置“控制台”更改为False。