C#完成后执行Dos和Notify

时间:2014-02-22 11:21:59

标签: c#

我在C#中使用此代码

System.Diagnostics.Process.Start(“CMD.exe”,@”/C cd\ & mySecondCommandHere“);

它工作正常,但不知道什么时候完成。

当dos命令完成后,我怎么能得到代码来提醒我?

3 个答案:

答案 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()会提醒您系统发出哔声。