这是我编写的用于打开cmd的程序,将IPERF作为客户端运行。 与服务器连接后,应该显示网络的带宽。 但命令提示符关闭,我需要的信息仅在服务器端可用。
如何获取信息并将其显示在MessageBox中?
非常感谢任何形式的协助。
string output;
ProcessStartInfo start = new ProcessStartInfo(@"C:\Windows\System32\cmd.exe");
start.UseShellExecute = false;
start.ErrorDialog = false;
start.WindowStyle = ProcessWindowStyle.Normal;
start.RedirectStandardError = true;
start.RedirectStandardInput = true;
start.RedirectStandardOutput = true;
Process cmd = new Process();
cmd.StartInfo = start;
cmd.Start();
try
{
Process.Start("cmd", "/C iperf -c " + IP_Address);
}
catch
{
}
Thread.Sleep(1000);
StreamReader outputReader = cmd.StandardOutput;
StreamReader errorReader = cmd.StandardError;
output = outputReader.ReadToEnd();
MessageBox.Show( output );
答案 0 :(得分:0)
try
{
Process.Start("cmd", "/C iperf -c " + IP_Address);
}
你有没有试过" cmd / k"?它应该防止终端在你的论点完成后关闭。
try
{
Process.Start("cmd /k", "/C iperf -c " + IP_Address);
}