1

わからない問題があります。テキスト ボックス、ボタン、およびリスト ボックスを含む 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);

テキスト ファイルに書き込むコードは同じですが、リスト ボックスに書き込む代わりに、テキスト ライターを作成し、ファイルの場所を指定しました。誰が私が間違ったことを理解できますか?

4

1 に答える 1

3

出力をリストボックスにマッサージするには、出力をさらに解析する必要があると思います。コマンドラインと同じように、テキストボックスを使用して例を実行し、すべての出力を取得しました。リストボックスはすべての出力を1つのアイテムとして追加しているだけだと思いますか?

次のようなことを試してください:

    string[] lines = output.Split('\n');
    foreach (string s in lines)
    {
        lbResult.Items.Add(s);
    }
于 2011-05-17T20:31:07.493 に答える