强制程序开始最小化

时间:2012-03-21 15:24:52

标签: python cmd

我的问题与我用来通过命令提示符运行多次程序的python程序有关。但是,每次调用该程序时,cmd窗口都会显示并阻碍屏幕,更令人烦恼的窗口会聚焦在cmd窗口上(它会将cmd窗口带到前面)。我希望能够最小化程序运行,以便我可以继续工作而不会被打断。

我用来调用外部程序的代码是:

os.system('abaqus cae noGUI=results.py')

如果我将py更改为pyw cmd仍然会弹出,但随后会隐藏一秒钟,其余的计算都不会显示出来。然而cmd仍然出现。有没有办法让cmd最小化?

我试过了:

def launchWithoutConsole(command, args):
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

    return subprocess.Popen('abaqus cae noGUI=results.py', startupinfo=startupinfo,
                stderr=subprocess.PIPE, stdout=subprocess.PIPE)

但它挂起......

2 个答案:

答案 0 :(得分:3)

你有" PythonW.exe"程序。它运行Python脚本但没有控制台窗口。

如果你真的希望它最小化而不是隐藏,你可以用:

运行它
c:\> start /MIN python.exe script.py

答案 1 :(得分:0)

假设您的Python有win32api,请使用win32process.CreateProcess来更好地控制流程创建。有关使用它的一些方法,请参阅Demos/winprocess.py;听起来你想要dwCreationFlags=CREATE_NO_WINDOWstartupinfo= PySTARTUPINFO结构wShowWindow=SW_SHOWMINIMIZED