我使用Popen()来启动一个Windows应用程序,并且有一个Windows CMD控制台popup,我需要监视标准input/输出。 有没有办法可以立即将这个CMD窗口最小化? 控制台窗口本身干扰了Popen()启动的应用程序,因为它遮挡了可见的桌面。
我在Python 2.6上使用winXP 32。
谢谢!
如果CMD控制台有一个非广泛的标题,你可以得到一个句柄,并通过下面的步骤(刚启动后)将其最小化:
import win32gui handle = win32gui.FindWindow(None, cmd_window_title) win32gui.ShowWindow(handle, 6)
6用于SW_MINIMIZE
(请参阅ShowWindow()函数的MSDN文档 )
当然,你应该添加适当的检查,如等待窗口出现等。
您是否将您的python文件的扩展名更改为.pyw ?,用pyw python解释器不显示windows控制台,以及关于stdot / stdin,您可以使用subprocess.PIPE
import subprocess cmd = subprocess.Popen('program.exe', shell=true, stdout=subprocess.PIPE, stdin=subprocess.PIPE) #read stdout print cmd.stdout.read() #write stdin cmd.stdin.write('DATA')
或者使用Popen.communicate
http://docs.python.org/library/subprocess.html#popen-objects