0

看了论坛之后,我写了这个片段:

public string ExecuteCmd()
{
    System.Diagnostics.Process process = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    startInfo.FileName = "cmd.exe";
    startInfo.Arguments = this.m_command;
    process.StartInfo = startInfo;
    process.Start();
    string output = process.StandardOutput.ReadToEnd();
    process.WaitForExit();

    return output;
}

m_command是类的成员,在构造函数中初始化。对于我的测试,它是net user. 当编译器到达这一点时,我得到以下异常:

StandardOut has not been redirected or the process hasn't started yet.

我的错误在哪里?

4

1 回答 1

1

你需要这个:

//....
startInfo.Arguments = "/C " + this.m_command;
process.StartInfo = startInfo;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
//....
于 2013-08-29T08:54:43.897 回答