Мне удалось запустить программу «B» как часть того же командного окна, вызвав следующую конфигурацию:
ConsoleColor color = Console.ForegroundColor;
ProcessStartInfo startinfo = new ProcessStartInfo(nameProgramB);
startinfo.CreateNoWindow = false;
startinfo.UseShellExecute = false;
Process p = Process.Start(startinfo);
p.WaitForExit();
Console.ForegroundColor = color;
Таким образом, обе программы работают одинаково, как если бы они были одной программой. «nameProgramB» - это имя для программы «B». Надеюсь, это поможет.