进程窗口正在关闭

问题描述 投票:1回答:1

我从我的应用程序中运行ruby脚本(__FileName),以下是代码。

private void runToolStripMenuItem_Click(object sender, EventArgs e)
{
    var psi = new ProcessStartInfo
    {
        FileName = "ruby.exe",
        Arguments = __FileName,
        RedirectStandardOutput = true,
        RedirectStandardError = true,
        UseShellExecute = false
    };

    var p = Process.Start(psi);

    textBox2.Text = p.StandardOutput.ReadToEnd() + p.StandardError.ReadToEnd();
}

在这种情况下,即使在脚本内有 "get "命令,进程窗口也会出现并立即消失。

我如何解决这个问题?

c#
1个回答
-1
投票

你必须调用 WaitForExit 所以你的代码会被阻塞,直到进程结束。

如果有帮助的话,这里有一个片段,你可以用它来默默地运行一个进程并获取它的输出。

https:/gist.github.comaugustoproiete5134f24de133f7723809。

© www.soinside.com 2019 - 2024. All rights reserved.