Я пытаюсь выполнить команду из кода C #.Но когда я использовал proc.StandardInput.WriteLine ("Y"), мое приложение зависло.
Мой код ниже.
string command = "Моя команда после выполнения показывает некоторые выходные данные и требуетзапись пользователя ";
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);
// The following commands are needed to redirect the standard output.
// This means that it will be redirected to the Process.StandardOutput StreamReader.
procStartInfo.RedirectStandardOutput = true;
procStartInfo.RedirectStandardInput = true;
procStartInfo.UseShellExecute = false;
// Do not create the black window.
procStartInfo.CreateNoWindow = true;
// Now we create a process, assign its ProcessStartInfo and start it
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
string standard_output;
while ((standard_output = proc.StandardOutput.ReadLine()) != null)
{
if (standard_output.Contains("Are you sure (Y/y or N/n ):"))
{
proc.StandardInput.WriteLine("Y");
//do something
break;
}
}