我想检查进程是否已经结束,然后执行下一条语句
i want to check if the process has ended, and then execute next ststements
第二段不等第一段结束再开始。特别是在第一块将产生 anonimous.xml 之前,第二块正在尝试使用 xml.I 尝试 p.WaitForExit()。但它显示错误。请告诉我应该写什么
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "cmd.exe";
p.Arguments = @"/c C:\Users0117174\Downloads\Metrics\Metrics.exe /Solution:"+ BrowsedFolder+ @" /out:C:\Users0117174\source\Report1.xml";
p.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(p);
Thread.Sleep(5000);
//p.WaitForExit();
parseXmlFile();
您将用于启动进程的结构与实际进程本身混淆了。
ProcessStartInfo pi = new ProcessStartInfo(); <-- This describes HOW you want the process to start
pi.FileName = "cmd.exe";
pi.Arguments = @"/c C:\Users0117174\Downloads\Metrics\Metrics.exe /Solution:"+ BrowsedFolder+ @" /out:C:\Users0117174\source\Report1.xml";
pi.WindowStyle = ProcessWindowStyle.Hidden;
var p = Process.Start(pi); <-- This is WHERE you create the process
Thread.Sleep(5000);
p.WaitForExit(); // Now you can wait for the process to exit
parseXmlFile();
您可以将一个新的进程对象与您的进程调用相关联,并像下面的代码一样等待它。您可以查看 this 了解有关 Process.Start() 方法的更多详细信息。
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "cmd.exe";
p.Arguments = @"/c C:\Users0117174\Downloads\Metrics\Metrics.exe /Solution:"+ BrowsedFolder+ @" /out:C:\Users0117174\source\Report1.xml";
p.WindowStyle = ProcessWindowStyle.Hidden;
Process process = Process.Start(p);
//Thread.Sleep(5000);
process .WaitForExit();
parseXmlFile();
第二段不等第一段结束再开始。特别是在第一块将产生 anonimous.xml 之前,第二块正在尝试使用 xml.I 尝试 p.WaitForExit()。但它显示错误。请告诉我应该写什么
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "cmd.exe";
p.Arguments = @"/c C:\Users0117174\Downloads\Metrics\Metrics.exe /Solution:"+ BrowsedFolder+ @" /out:C:\Users0117174\source\Report1.xml";
p.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(p);
Thread.Sleep(5000);
//p.WaitForExit();
parseXmlFile();
您将用于启动进程的结构与实际进程本身混淆了。
ProcessStartInfo pi = new ProcessStartInfo(); <-- This describes HOW you want the process to start
pi.FileName = "cmd.exe";
pi.Arguments = @"/c C:\Users0117174\Downloads\Metrics\Metrics.exe /Solution:"+ BrowsedFolder+ @" /out:C:\Users0117174\source\Report1.xml";
pi.WindowStyle = ProcessWindowStyle.Hidden;
var p = Process.Start(pi); <-- This is WHERE you create the process
Thread.Sleep(5000);
p.WaitForExit(); // Now you can wait for the process to exit
parseXmlFile();
您可以将一个新的进程对象与您的进程调用相关联,并像下面的代码一样等待它。您可以查看 this 了解有关 Process.Start() 方法的更多详细信息。
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "cmd.exe";
p.Arguments = @"/c C:\Users0117174\Downloads\Metrics\Metrics.exe /Solution:"+ BrowsedFolder+ @" /out:C:\Users0117174\source\Report1.xml";
p.WindowStyle = ProcessWindowStyle.Hidden;
Process process = Process.Start(p);
//Thread.Sleep(5000);
process .WaitForExit();
parseXmlFile();