Для одной из моих реализаций я работаю над инструментом, который должен отправлять/получать команды/результаты в/из окна cmd. Все работает нормально, но приведенный ниже вариант использования ничего не делает. Кажется, что мое приложение чего-то ждет (вместо того, чтобы отображать результат)
Из моего инструмента я перехожу к папке python. Из папки python я пытаюсь запустить python.exe, но в этот момент мой редактор ничего не делает. он просто продолжает ждать.
Для вашего любезного рассмотрения я также связываю видео здесь. Вам, ребята, будет легче понять, что я пытаюсь сказать.
Посмотреть видео здесь (на ютубе)
Я также прикрепляю код, который у меня есть в настоящее время.
ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
string argument = null;
if (!string.IsNullOrEmpty(startingDirectory) && System.IO.Directory.Exists(startingDirectory))
{
argument += @"cd\";
}
else
{
argument += "\"";
}
info.Arguments = argument;
info.CreateNoWindow = true;
info.RedirectStandardError = true;
info.RedirectStandardInput = true;
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
this.shellProcess = System.Diagnostics.Process.Start(info);
this.shellProcess.EnableRaisingEvents = true;
//this.InputStream.AutoFlush = true;
this.shellProcess.Exited += new EventHandler(ProcessExited);
this.ErrorBeginRead();
this.OutputBeginRead();
private void OutputBeginRead()
{
this.shellProcess.StandardOutput.BaseStream.BeginRead(outputBuffer, 0, outputBuffer.Length, new AsyncCallback(this.OnOutputInput), this.shellProcess);
}
private void ErrorBeginRead()
{
this.shellProcess.StandardError.BaseStream.BeginRead(errorBuffer, 0, errorBuffer.Length, new AsyncCallback(this.OnErrorInput), this.shellProcess);
}
Благодарю вас !
РЕДАКТИРОВАТЬ :Запуск python — это просто пример. Мне нужно использовать тот же метод и для других обычных команд строки cmd. Было бы неплохо, если бы кто-нибудь мог указать, что я делаю неправильно с кодом, который у меня есть, или что я должен сделать, чтобы достичь предполагаемой функциональности.
РЕДАКТИРОВАТЬ 2 :Обычные команды cmd работают отлично. Инструменты командной строки, такие как python, perl, не работают.
Редактировать 3 :Итак, мне удалось немного продвинуться вперед, следуя предложениям Джейми. Пользовательский интерфейс больше не «висит». но когда я получаю доступ к интерпретатору python, вывод интерпретатора все еще не виден в моем инструменте. Любые предложения, почему это может происходить?