我有一个应用程序将一个接一个地打开两个microsoft ppsx文件。因为我已经使用过程对象来运行文件。提到贝娄
Process process = Process.Start(@"E:\test\test.ppsx");
我需要以这样的方式运行文件:在完成第一个文件后,第二个文件应该自动运行。可以有人建议我如何实现这一点。
答案 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)
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();
}
}