我有一个带有GUI的脚本,它接收用户数据并将其存储到文本文件中。它运行另一个脚本(一个.exe文件),该脚本等待用户输入,然后执行一些操作。我想要的是,在读取用户输入后,让后面的脚本隐藏控制台窗口,但仍在后台继续工作。
我尝试使用
我尝试使用
subprocess.call('lastscript.exe', shell=True)
或subprocess.Popen('lastscript.exe', shell=True)
来运行该脚本。但这并不起作用。我必须先获取用户的输入,然后隐藏控制台并让程序在后台工作。
import ctypes;
kernel32 = ctypes.WinDLL('kernel32');
user32 = ctypes.WinDLL('user32');
user32.ShowWindow(kernel32.GetConsoleWindow(), 0)
。 - Eryk Sunshell=True
,而且可能不应该使用它。只有在运行需要内置shell命令(例如copy
或dir
)或WindowsShellExecuteEx
API的命令时才使用cmd.exe shell。您可以直接运行EXE文件,而无需使用shell。我从您的问题中删除了所有关于“cmd”的引用,因为控制台窗口是conhost.exe,而不是cmd.exe。如果lastscript.exe是控制台应用程序,则它会继承或创建一个新的conhost.exe实例来托管其控制台窗口。 - Eryk Sun