进程启动一个新的CMD实例

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

我有一个命令行应用程序,该应用程序调用'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 + "***");

这是我的第一个问题,请不要过分苛刻

c# cmd process instance netsh
1个回答
0
投票

希望我能正确理解您的问题。您可以在重定向输出时隐藏外壳程序。例如,

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();

字符串输出,稍后可以在文本框中显示(根据您的表单设计)。

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