我从我的应用程序运行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();
}
在这种情况下,即使在脚本中有命令"得到",过程窗口也会立即消失。
我该如何解决?
答案 0 :(得分:0)
您必须致电
WaitForExit
,以便您的代码阻止,直到该过程。
如果有帮助,可以使用以下代码片段静默运行进程并获取其输出。