【问题标题】:Force a program to start minimized强制程序最小化启动
【发布时间】:2012-03-21 15:24:52
【问题描述】:

我的问题与我用来通过命令提示符多次运行程序的 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)

但它挂了......

【问题讨论】:

标签: python cmd


【解决方案1】:

您有“PythonW.exe”程序。它运行一个 Python 脚本,但没有控制台窗口。

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

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

【讨论】:

    【解决方案2】:

    假设您的 Python 有 win32api,请使用 win32process.CreateProcess 更好地控制进程创建。一些使用方法见Demos/winprocess.py;听起来你想要 dwCreationFlags=CREATE_NO_WINDOW 或 startupinfo= PySTARTUPINFO 结构和 wShowWindow=SW_SHOWMINIMIZED。

    【讨论】:

    猜你喜欢
    • 2013-12-31
    • 2017-02-21
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多