所以按下"启动"按钮,CMD在一秒左右后立即打开和关闭。如您所见,我试图通过CMD使用参数行打开.exe文件。当我手动操作时,它可以工作,但是当我进入C#...
时System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo();
String host = textBox1.Text;
String fp = textBox2.Text;
String port = textBox4.Text;
String time = textBox5.Text;
String threads = textBox3.Text;
String type = "GET";
string param = string.Format( " /C {0} start C:/Dos.exe " + host + port + fp + time + threads + type, Environment.NewLine);
System.Diagnostics.Process.Start("cmd.exe", param).WaitForExit();
答案 0 :(得分:1)
最后使用Console.Read(),以便cmd在关闭之前等待按键
答案 1 :(得分:0)
我认为你应该使用命令参数K而不是C我的意思
string param = string.Format( " /K {0} start C:/Dos.exe " + host + port + fp + time + threads + type, Environment.NewLine);
答案 2 :(得分:0)
您在CMD.EXE命令行上使用/C
标志,后跟start
选项,这意味着您的控制台以separate process
启动DOS.EXE程序并且然后退出。
通过这种方式,当您调用WaitForExit
时,CMD.EXE的进程已经终止如果您想等待CMD.EXE进程,请不要使用start
选项
string param = string.Format(" /C {0} C:/Dos.exe " + ....., Environment.NewLine);
目前尚不清楚在/ C标志
之后添加换行符的原因是什么