Задать вопрос
@leobatura
network engineer

Как в С# ожидать в потоке определенного слова?

В программе нужно "нажимать" энтер до тех пор, пока не появится строка Username
После появления запустить процесс авторизации
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@MIsternik
Судя по всему вы запускаете сторонее консольное приложение из своего, тогда вам надо перенаправить стандартный поток вывода этого приложения и искать там нужное слово:
var proc = new Process 
{
    StartInfo = new ProcessStartInfo
    {
        FileName = "program.exe",
        Arguments = "command line arguments to your executable",
        // Перенаправдяем поток вывода
        RedirectStandardOutput = true
    }
};

proc.Start();
// Читаем поступающие к поток данные
while (!proc.StandardOutput.EndOfStream)
{
    string line = proc.StandardOutput.ReadLine();
    if( line.IndexOf("Username", StringComparison.InvariantCultureIgnoreCase) )
    {
        // что-то там делаем
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы