Перенаправление вывода schtasks в C # Windows Form - PullRequest
0 голосов
/ 18 мая 2011

У меня есть проблема, которую я не могу понять. У меня есть форма Windows с текстовым полем, кнопкой и списком. Я хочу ввести IP-адрес в текстовое поле, нажать кнопку и перенаправить вывод schtasks в мой список. Однако я никогда не получаю ничего больше, чем первая строка. Кроме того, мой код отлично работает при перенаправлении в текстовый файл. Ниже мой код.

        string machineName = textBox1.Text;

        Process process = new Process();
        process.StartInfo.FileName = "schtasks";
        process.StartInfo.Arguments = " /query /s " + machineName;
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.CreateNoWindow = true;
        process.Start();

        string output = process.StandardOutput.ReadToEnd();
        process.WaitForExit();

        lstOutput.Items.Add(output);

Мой код для записи в текстовый файл был таким же, за исключением того, что в конце вместо записи в список я создал текстовый редактор и дал ему местоположение для файла. Кто-нибудь может понять, что я сделал не так?

1 Ответ

2 голосов
/ 18 мая 2011

Я думаю, вам нужно больше разбирать вывод, чтобы втирать его в список.Я запустил ваш пример с текстовым полем и получил весь вывод, как в командной строке.Я думаю, что список просто добавляет все выходные данные как один элемент?

Попробуйте что-то вроде этого:

    string[] lines = output.Split('\n');
    foreach (string s in lines)
    {
        lbResult.Items.Add(s);
    }
...