我有一个我无法弄清楚的问题。我有一个带有文本框,按钮和列表框的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);
我写入文本文件的代码是相同的,除了最后,我创建了一个文本编写器并为其提供了文件的位置,而不是写入列表框。任何人都能弄清楚我做错了什么吗?
答案 0 :(得分:2)
我认为您需要更多地解析输出以将其按到列表框中。我用一个文本框运行你的例子,得到了所有的输出,就像在命令行一样。我认为列表框只是将所有输出添加为一个项目?
尝试这样的事情:
string[] lines = output.Split('\n');
foreach (string s in lines)
{
lbResult.Items.Add(s);
}