You are using StartInfo
incorrectly. Have a look at documentation for ProcessStartInfo Class and Process.Start Method (). Your code should look something like this:
string ipAddress;
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
string strCmdText;
strCmdText = "/C tracert -d " + ipAdress;
// Correct way to launch a process with arguments
p.StartInfo.FileName="CMD.exe";
p.StartInfo.Arguments=strCmdText;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Also, note that I added /C
argument to strCmdText
. As per cmd /?
help:
/C Carries out the command specified by string and then terminates.