我有一个应用程序,它将一个接一个地打开两个 microsoft ppsx 文件。为此,我使用了进程对象来运行文件。下面提到
Process process = Process.Start(@"E:\test\test.ppsx");
我需要以这样的方式运行文件,即在完成第一个文件后,第二个文件应该自动运行。有人可以建议我如何实现这一目标。
您可以使用WaitForExit
方法等待结束进程(类似这样):
var process1 = Process.Start(...);
process1.WaitForExit();
var process2 = Process.Start(...);
或订阅一个Process.Exited
事件并在第一个事件之后执行另一个进程。检查此供您参考。
你可以使用Process.WaitForExit
方法。
指示 Process 组件无限期地等待关联的进程退出。
还要检查Process.Exited
事件。
在进程退出时发生。
Process process = Process.Start(@"E:\test\test.ppsx");
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();
}
}
您应该从 E 盘中的 test 目录中获取所有 ppsx 文件,并根据您的要求在 ppsx 文件数组上进行处理。
string[] files = Directory.GetFiles("your path");
循环遍历数组并将每个文件路径传递给 Process 构造函数,正如 lexeRoy 所说,您可以 WaitForExit。