如何使用C#一个接一个地运行两个进程?

时间:2013-05-02 07:32:13

标签: c# process

我有一个应用程序将一个接一个地打开两个microsoft ppsx文件。因为我已经使用过程对象来运行文件。提到贝娄

Process process = Process.Start(@"E:\test\test.ppsx");

我需要以这样的方式运行文件:在完成第一个文件后,第二个文件应该自动运行。可以有人建议我如何实现这一点。

4 个答案:

答案 0 :(得分:2)

您可以使用WaitForExit方法等待结束进程(如下所示):

var process1 = Process.Start(...);
process1.WaitForExit();

var process2 = Process.Start(...);

或订阅Process.Exited事件并在第一个事件之后执行另一个进程。请查看this以供参考。

答案 1 :(得分:0)

您应该从数组中的E驱动器的测试目录中获取所有ppsx文件,并根据您的要求处理ppsx文件数组。

 string[] files = Directory.GetFiles("your path");

循环遍历数组并将每个文件路径传递给Process构造函数,并且lexeRoy说你可以使用WaitForExit。

答案 2 :(得分:0)

您可以使用Process.WaitForExit方法。

  

指示Process组件无限期地等待   相关流程退出。

同时检查Process.Exited事件。

  

进程退出时发生。

Process process = Process.Start(@"E:\test\test.ppsx");
process.WaitForExit();

答案 3 :(得分:0)

使用Process.WaitForExit()

class Program
{
    static void Main(string[] args)
    {
        Task.Run(() =>
        {
            Process.Start(@"c:\temp\presentation1.pptx").WaitForExit();
        }).ContinueWith(o => 
        {
            Process.Start(@"c:\temp\presentation2.pptx").WaitForExit();
        });
        Console.ReadKey();
    }       
}