Я новичок в программировании C#, и есть код, в котором я хочу несколько раз запустить процесс командной строки на al oop. Я также хочу дождаться завершения процесса командной строки, а затем снова запустить его с другими аргументами. Я определил этот процесс в al oop, и все работает нормально. Однако я также хочу обновлять индикатор выполнения на GUI каждый раз, когда процесс завершается, но в конечном итоге Process.WaitForExit () зависает от моего GUI и не обновляет индикатор выполнения. Индикатор выполнения обновляется, когда l oop завершается. Пожалуйста, помогите мне, вот что я пытался сделать.
ProcessStartInfo processInfox = new ProcessStartInfo();
processInfox.CreateNoWindow = false;
processInfox.UseShellExecute = false;
processInfox.FileName = programPath;
processInfox.CreateNoWindow = true;
int startFrames = Convert.ToInt16(txtStartFrame.Text);
int endFrames = Convert.ToInt16(txtEndFrame.Text);
for (int i = startFrames; i <= endFrames; i++)
{
progressBar1.Value = (i / endFrames) * 100;
iName = fileFrames + "_" + i + ".jpg";
oName = outFrames + "\\" + outFileName + "_processed_" + i + ".jpg" ;
processInfox.Arguments = "-i \"" + iName + "\"" + progArgs + " -o \"" + oName + "\"";
using (Process processFire = Process.Start(processInfox))
{
processFire.WaitForExit();
}
}