我有一个命令行应用程序,该应用程序调用'netsh'进程并更改一些IP信息。我遇到的问题是,每次我在CMD或PowerShell中调用应用程序时,它都会启动一个新的CMD实例(打开一个新的CMD窗口,并在执行完成后将其关闭)
我想知道是否有办法让所有事情都在同一窗口中发生
这里是启动过程的代码:
Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo("netsh", queryStr);
p.StartInfo = psi;
p.Start();
Console.WriteLine("netsh query string is: " + "***" + queryStr + "***");
这是我的第一个问题,请不要过分苛刻
希望我能正确理解您的问题。您可以在重定向输出时隐藏外壳程序。例如,
ProcessStartInfo psi = new ProcessStartInfo("netsh", queryStr);
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
p.StartInfo = psi;
p.Start();
var output = p.StandardOutput.ReadToEnd();
字符串输出,稍后可以在文本框中显示(根据您的表单设计)。