我在C#中使用此代码
System.Diagnostics.Process.Start(“CMD.exe”,@”/C cd\ & mySecondCommandHere“);
它工作正常,但不知道什么时候完成。
当dos命令完成后,我怎么能得到代码来提醒我?
答案 0 :(得分:8)
一种方法是调用WaitForExit。这将阻止执行,直到有问题的进程退出。
var process = System.Diagnostics.Process.Start("...");
//The next line will block until the process has finished
process.WaitForExit();
答案 1 :(得分:4)
您可以获取进程对象并订阅其已退出事件。
var process = System.Diagnostics.Process.Start("...");
process.Exited += ...
或者,您可以使用WaitForExit()
同步等待该过程。但是,这是一个阻止电话。
答案 2 :(得分:-1)
使用如下方法:
private bool AlertMe()
{
bool isCompleted = false;
System.Diagnostics.Process.Start(“CMD.exe”,@”/C cd\ & mySecondCommandHere“);
isCompleted = true;
System.Media.SystemSounds.Beep.Play();
return isCompleted;
}
System.Media.SystemSounds.Beep.Play()会提醒您系统发出哔声。