1

我正在编写一个用于启动不同命令行应用程序的程序。问题是当我运行 1 个应用程序时,命令提示符会控制该程序,并且不允许我访问我的 GUI 来启动另一个。我相信这是因为System()创建了一个新进程,然后一旦退出命令提示符,控制权就会交还给 GUI。

是否有任何替代方法可以让我一次启动多个命令行程序?例如在一个线程中。

对此的任何帮助将不胜感激。

::担

4

1 回答 1

6

使用CreateProcess功能;这会创建一个新进程,但不会等待它完成。WaitForSingleObject相反,您可以使用该功能自己等待。

如果您正在启动多个进程,您可能需要考虑使用WaitForMultipleObjects它可以让您一次等待整个进程(和其他对象)列表。

有关如何等待进程完成的更多替代方法,请参阅MSDN 上的等待函数列表。

于 2012-04-25T14:21:27.127 回答