目前我正在研究服务器管理器。服务器是命令行应用程序。服务器通过Process类运行,窗口被隐藏。我一直试图想出一种方法将命令注入其中(save-all),而不显示服务器窗口。我曾尝试使用StreamWriter和Process的标准输入,但这不起作用。有谁知道如何让这个工作?
答案 0 :(得分:0)
为了能够重定向进程的任何标准I / O流,您需要禁用shell执行。你可能没有。你应该能够这样做:
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = Environment.GetEnvironmentVariable("COMSPEC"),
RedirectStandardInput = true,
UseShellExecute = false,
},
};
if (process.Start())
{
process.StandardInput.WriteLine("echo FOOBAR!");
process.WaitForExit(3000);
process.StandardInput.WriteLine("exit");
process.WaitForExit();
}