Последовательный запуск и закрытие нескольких программ - 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)