1

我想运行特定的命令行应用程序:

ffmpeg -i video.mp4 audio.mp3

我正在通过 GUI 运行命令,当控制台窗口不存在时,该ffmpeg进程正在新的 cmd 窗口中运行。

测试人员发现“出现的黑色窗口”很吓人,而且对用户不友好。

如何在不出现任何可见窗口的情况下运行应用程序?os.system()subprocess.Popen()并且subprocess.call() 都启动了 cmd 窗口。

如果重要的话,我正在使用 pyqt4 和 py2exe。我的目标是 Windows 操作系统用户。

4

3 回答 3

1

ActiveState 的这个配方可以解决你的问题:

http://code.activestate.com/recipes/409002/

Python 2.7 需要稍作更改。请参阅如何从 Python (2.7) 中生成的进程中消除 Windows 控制台?

于 2012-04-25T19:53:42.947 回答
0

ffmpegSTART命令启动。如果您使用该/B开关,则不会显示任何命令窗口。

于 2012-04-25T18:18:09.333 回答
0

使用subprocess.Popen(或call)并在某处重定向标准输出/标准错误。他们目前与您自己的进程的标准输出和标准错误挂钩,这就是他们通过的原因。

如果您需要可以与您的 GUI 事件循环很好地集成的东西,请使用 Twisted 的进程启动工具。

于 2012-04-25T18:21:39.653 回答