1

さまざまなコマンド ライン アプリケーションを起動するために使用するプログラムを作成しています。問題は、1 つのアプリケーションを実行すると、コマンド プロンプトがプログラムを制御し、GUI にアクセスして別のアプリケーションを起動できないことです。これはSystem()、新しいプロセスが作成されるためだと思います。その後、コマンド プロンプトが終了すると、制御が GUI に戻されます。

一度に複数のコマンド ライン プログラムを起動できる代替手段はありますか? たとえば、スレッドのように。

これに関する任意の助けをいただければ幸いです。

::ダン

4

1 に答える 1

6

CreateProcess関数を使用します。これにより、新しいプロセスが作成されますが、プロセスが完了するまで待機しません。代わりに、関数を使用して自分で待つことができWaitForSingleObjectます。

複数のプロセスを開始する場合はWaitForMultipleObjects、プロセス (および他のオブジェクト) のリスト全体を一度に待機できるようにすることを検討することをお勧めします。

プロセスが終了するまで待機する方法のその他の方法については、MSDNの待機関数のリストを参照してください。

于 2012-04-25T14:21:27.127 に答える