Alors je lance un groupe de processus pour convertir des fichiers audio et je veux que mon programme principal d'attendre jusqu'à ce que tous les processus complet avant d'exécuter.Comment attendre jusqu'à ce qu'un processus se termine avant de continuer à exécuter - C#
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!";
}
}
Thats ce que je dois voir si elle est en cours d'exécution, mais je dois continuer à mettre à jour les GetProcesses et vérifier si elle est toujours en cours d'exécution et je ne suis pas tout à fait sûr de savoir comment.
Mon application lance Beaucoup du même processus pour les différents fichiers audio, presque simultanément. J'ai regardé le lien dans le commentaire et cela va mettre en place un gestionnaire d'événements, comment pourrais-je gérer beaucoup du même événement chaque fois que l'un des processus de sortie?
http://stackoverflow.com/questions/2/how-to-know-the-exe-run par mes-applications processus a-complété son-travail/4332123 # 4332123 –
mis à jour mon post – Dacto