我在以前版本的Visual Studio 2013 Pro - C#Forms App中运行此代码,它运行得非常好。 但是我现在已经下载了Visual Studio 2017社区,相同的代码不再起作用了。它只是打开命令提示符空白窗口而不执行任何命令。
此外,它现在甚至都没有要求任何管理员权限。
任何人都可以建议,我应该如何在社区版中使用它。 感谢。
Process p1 = new Process();
p1.StartInfo.FileName = "cmd.exe";
p1.StartInfo.Arguments = "java";
p1.StartInfo.UseShellExecute = false;
p1.StartInfo.RedirectStandardOutput = true;
p1.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p1.StartInfo.CreateNoWindow = false;
p1.StartInfo.Verb = "runas";
p1.Start();
p1.StandardOutput.ReadToEnd();
答案 0 :(得分:1)
你的论点似乎缺少/ c
p1.StartInfo.Arguments =“/ c java”;
Process p1 = new Process();
p1.StartInfo.FileName = "cmd";
p1.StartInfo.Arguments = "/c java";
p1.StartInfo.UseShellExecute = false;
p1.StartInfo.RedirectStandardOutput = true;
p1.StartInfo.RedirectStandardError = true;
p1.StartInfo.Verb = "runas";
p1.Start();
StringBuilder sb = new StringBuilder();
while (!(p1.StandardOutput.EndOfStream))
sb.Append($"{ p1.StandardOutput.ReadLine()}");
while (!(p1.StandardError.EndOfStream))
sb.Append($"{ p1.StandardError.ReadLine()}");
p1.WaitForExit();