Привет всем, что я застрял, пытаясь отправить команды в командную строку, ожидающую моего ввода.
Рассматриваемая команда - JavaLoader, который, если я пытаюсь использовать на устройстве BlackBerry с паролемон запрашивает у меня пароль.Я хотел бы ввести пароль, но с использованием кода C #.
Предполагая, что я успешно создал cmd.exe, используя такой процесс: -
process = new Process();
// Invokes the cmd process specifying the command to be executed.
string cmdProcess = string.Format(System.Globalization.CultureInfo.InvariantCulture, @"{0}\cmd.exe", new object[] { Environment.SystemDirectory });
// Pass executing file to cmd (Windows command interpreter) as a arguments
//Removed /C tells cmd that we want it to execute the command that follows, and then exit.
string cmdArguments = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", new object[] { command });
// Pass any command line parameters for execution
if (arguments != null && arguments.Length > 0)
{
cmdArguments += string.Format(System.Globalization.CultureInfo.InvariantCulture, " {0}", new object[] { arguments, System.Globalization.CultureInfo.InvariantCulture });
}
process.StartInfo.FileName = cmdProcess;
process.StartInfo.Arguments = cmdArguments;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.UseShellExecute = false; // Must be false for redirection
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.RedirectStandardInput = true;
bool s = process.Start();
Как мне поступитьотвечая на запрос cmd для паролей?
Я пытался получить поток ввода и использовать .WriteLine ("randompassword") примерно так: -
while (process.Responding)
{
sw.WriteLine(response);
}
Еще одна вещь, которую я заметил, это приглашение на ввод пароля небудет выбрано как Выход или Ошибка, и приложение будет зависать, потому что оно ожидает моего ввода.