Как оставить окно консоли открытым после выполнения?C#

Место общения программистов C#
Гость
Как оставить окно консоли открытым после выполнения?

Сообщение Гость »

Это немного сложная проблема. Я перепробовал, наверное, все, но все равно ничего не помогло. Я запускаю приложение WinForm, запуская CMD, а затем запускаю другое приложение (консольное приложение) на cmd. Он работает с /c START xyz, но когда приложение завершает работу, CMD всегда закрывается. Я хочу приостановить это окно.

Код: Выделить всё

ProcessStartInfo processInfo = new ProcessStartInfo {
FileName = "cmd.exe",
WorkingDirectory = Path.GetDirectoryName(YourApplicationPath),
Arguments = "/K START " + cmdparametr,
RedirectStandardOutput = true,
RedirectStandardInput = true,
RedirectStandardError = true,
CreateNoWindow = false,
UseShellExecute = false,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
};

Process p = new Process {
StartInfo = processInfo
};
p.Start();

int ExitCode;
p.WaitForExit();

// *** Read the streams ***
string output = p.StandardOutput.ReadToEnd();
string error = p.StandardError.ReadToEnd();

ExitCode = p.ExitCode;

MessageBox.Show("output>>" + (String.IsNullOrEmpty(output) ? "(none)" : output));
MessageBox.Show("error>>" + (String.IsNullOrEmpty(error) ? "(none)" : error));
MessageBox.Show("ExitCode: " + ExitCode.ToString(), "ExecuteCommand");
p.Close();

Код: Выделить всё

ReadStream
работает, когда я добавляю аргумент: START/b, но я думаю, что это не важно.

WaitForExit() не работает.

Можно ли приостановить приложение с помощью команды, например, так:
/k start xyz.exe & PAUSE?



Мое приложение — консольное!

Подробнее здесь: https://stackoverflow.com/questions/329 ... -execution

Вернуться в «C#»