如何通过代码顺序启动进程

Mut*_*pan 2 c# process

我必须按顺序运行3个进程,一个接一个地运行.第二个过程必须在第一个过程完成后开始.我在C#工作.我已经使用了Process.Start()方法,它同时踢了所有.谁能帮我.

Seb*_*olm 7

一种方法是Exited为第一个进程的事件添加处理程序,然后从那里启动第二个进程.

void StartProcessOne() {
    Process p = Process.Start("foo", "bar");
    p.Exited += (sender, e) => StartProcessTwo();
    p.Start();
}

void StartProcessTwo() {
    Process p = Process.Start("foo2", "bar2");
    p.Exited += (sender, e) => StartProcessThree();
    p.Start();
}

...
Run Code Online (Sandbox Code Playgroud)

您还可以使用该WaitForExit()方法,在继续执行代码之前等待进程结束.但请注意,这会使您自己的进程停止执行,直到另一个进程终止.这可能会给您留下无响应的用户界面等等,这可能是非常不受欢迎的.(来源)