Итак, я запускаю кучу процессов для преобразования некоторых аудиофайлов, и я хочу, чтобы моя основная программа подождала завершения всех этих процессов, прежде чем выполнить.
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo stratInfo = new System.Diagnostics.ProcessStartInfo();
stratInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
DirectoryInfo di = new DirectoryInfo(@dir);
foreach (FileInfo fi in di.GetFiles())
{
stratInfo.FileName = "C:\\AudioExtract.exe";
stratInfo.Arguments = "-a \"" + dir + "\\" + fi.Name + "\"";
process.StartInfo = stratInfo;
process.Start();
}
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains("AudioExtract.exe"))
{
StatusLbl.Text = "Found!";
}
}
Вот что я должен увидеть, если это такзапущен, но мне нужно, чтобы он продолжал обновлять getprocesses и проверял, запущен ли он, и я не совсем уверен, как.
Мое приложение запускает многие из одного и того же процесса для разных аудиофайлов, почти одновременно.Я посмотрел на ссылку в комментарии, и это настроит обработчик событий, как бы я обрабатывал много одинаковых событий каждый раз при выходе из одного из процессов?