我试图运行一个叫做“prog.exe”的进程,参数为“blah $ 00”(有点代码),但无论我尝试失败。应用程序与ProcessStartInfo参数崩溃
string file = "blah $00";
string result = string.Empty;
ProcessStartInfo P = new ProcessStartInfo(@"""" + "prog.exe" + @"""");
P.Arguments = @"""" + file + @"""";
P.CreateNoWindow = true;
P.UseShellExecute = false;
P.RedirectStandardOutput = true;
Process.Start(P);
using (Process process = Process.Start(P))
{
using (StreamReader str = process.StandardOutput)
result = str.ReadToEnd();
}
MessageBox.Show(result);
当执行这段代码时,我的程序崩溃了,我不得不使用任务管理器关闭它。
我不知道我的代码有什么问题(我没有正确设置参数?),所以任何帮助,将不胜感激。
你为什么要双引号?你看过命令行的样子吗? –
您是否尝试过不使用“@”“”“? –
为什么你需要引用prog.exe? –