我在C#中使用此代碼通知C#執行DOS和當它完成
System.Diagnostics.Process.Start(「CMD.exe」,@」/C cd\ & mySecondCommandHere「);
它工作正常,但是當它這樣做並沒有告訴。
如何在dos命令完成時獲取代碼以提醒我?
我在C#中使用此代碼通知C#執行DOS和當它完成
System.Diagnostics.Process.Start(「CMD.exe」,@」/C cd\ & mySecondCommandHere「);
它工作正常,但是當它這樣做並沒有告訴。
如何在dos命令完成時獲取代碼以提醒我?
一種方法是調用WaitForExit。這將阻止執行,直到有問題的進程退出。
var process = System.Diagnostics.Process.Start("...");
//The next line will block until the process has finished
process.WaitForExit();
您可以獲取流程對象並訂閱其Exited事件。
var process = System.Diagnostics.Process.Start("...");
process.Exited += ...
或者,您可以使用WaitForExit()
同步等待進程。但是,這是一個阻止呼叫。
使用如下方法:
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()會提醒你的系統提示音。
不,這個過程是異步啓動的 – Georg
@Georg你是對的。我剛剛在你的評論後檢查過。謝謝你的收穫! – autopilot