Я пишу приложение Windows Forms для утилиты очистки, в которой приложение Windows Form будет выполнять несколько командных файлов с одинаковыми атрибутами процесса для очистки различных частей компьютера, это то, что я пока имею,
ProcessStartInfo[] infos = new ProcessStartInfo[]
{
new ProcessStartInfo(Environment.CurrentDirectory + @"example batch file 1"),
new ProcessStartInfo(Environment.CurrentDirectory + @"example batch file 2"),
};
Затем я выполняю их,
Process[] startedProcesses = StartProcesses(infos, true);
Атрибуты для каждого процесса содержатся внутри,
public Process[] StartProcesses(ProcessStartInfo[] infos, bool waitForExit)
{
ArrayList processesBuffer = new ArrayList();
foreach (ProcessStartInfo info in infos)
{
Process process = Process.Start(info);
if (waitForExit)
{
process.StartInfo.UseShellExecute = true;
process.StartInfo.Verb = "runas";
process.WaitForExit();
}
}
}
Проблема в том, что я хочу добавить новые пакетные файлы в список с помощью операторов if, поскольку я хочу, чтобы пользователь управлял тем, какие пакетные файлы выполняются с помощью флажка в списке, например,
ProcessStartInfo[] infos = new ProcessStartInfo[]
{
if (checkedListBox1.GetItemCheckState(0) == CheckState.Checked)
{
new ProcessStartInfo(Environment.CurrentDirectory + @"example batch file 1"),
}
if (checkedListBox1.GetItemCheckState(1) == CheckState.Checked)
{
new ProcessStartInfo(Environment.CurrentDirectory + @"example batch file 2"),
}
};
Но это не работает ... Есть ли что-нибудь вокруг этого?
С уважением, Джейкоб