我用2个按钮创建了一个WPF应用程序。单击执行cmd的第一个按钮并等待命令完成,因为我需要在执行完成后读取结果文件。在第二个按钮上单击我将停止执行cmd by process kill。
但是在启动命令执行后,我无法在完成cmd的执行之前停止执行。
有没有什么方法可以并行执行?
开始按钮代码
string filename = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "nunit-console.exe");
Process proc = Process.Start(filename, "/result:" + resultFile + ".xml " + fileName);
proc.WaitForExit();
答案 0 :(得分:0)
只需删除proc.WaitForExit();
即可。此行阻止了界面线程,阻止了第二次按钮点击。
System.Diagnostics.Process proc;
private void Btn1Click(object sender, RoutedEventArgs e)
{
string filename = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "nunit-console.exe");
proc = Process.Start(filename, "/result:" + resultFile + ".xml " + fileName);
}
private void Btn2Click(object sender, RoutedEventArgs e)
{
if (proc != null)
proc.Kill();
}