Последовательный запуск и закрытие нескольких программ - C#

Узнай цену своей работы

Формулировка задачи:

Необходимо осуществить запуск трех установщиков последовательно. пока работает один, другие не запускаются. Реализовано через CheckedListBox, в котором находятся ключи для SendKeys.
private void button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < checkedListBox1.CheckedItems.Count;i++)
            {
                List<string> list = new List<string>();
                using (StreamReader sr = new StreamReader(Convert.ToString(checkedListBox1.CheckedItems[i]))) //заполнение листа из текстового файла
                {
                    string line;
 
                    while ((line = sr.ReadLine()) != null)
                    {
                        list.Add(line);
                    }
                    sr.Close();
                }
                Application.DoEvents();
                Thread.Sleep(3000);

                foreach (string line1 in list)
                {
                    if (line1.Contains("Path") == true)
                    {
                        Debug.Print(line1);                        
                        Process.Start(line1.Remove(0, 5));

                    }
                    else if (line1.Contains("Name") == true)
                    {
                        Debug.Print(line1);
                        wshel.AppActivate(line1.Remove(0, 5));
                    }
                    else if (line1.Contains("Key") == true)
                    {
                        Debug.Print(line1);
                        SendKeys.Send(line1.Remove(0, 4));
                    }
                    else if (line1.Contains("Time") == true)
                    {
                        Application.DoEvents();
                        Debug.Print(line1);
                        Thread.Sleep(Convert.ToInt32(line1.Remove(0, 5)));
                    }
                    Thread.Sleep(300);
                    Application.DoEvents();
                    
                }
Не понимаю, где, когда и как необходимо заморозить цикл, для того, чтобы предыдущий установщик успел закрыться. Или как его закрыть. Мрак в общем.

Решение задачи: «Последовательный запуск и закрытие нескольких программ»

textual
Листинг программы
worker.WaitForExit(time)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5
Похожие ответы