C#隐藏、背景、过程信息

C#隐藏、背景、过程信息,c#,C#,我有以下代码: ProcessStartInfo PSI = new ProcessStartInfo("cmd.exe"); PSI.CreateNoWindow = true; PSI.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; PSI.RedirectStandardInput = true; PSI.RedirectStandardOutput = true; PSI.RedirectStandardError

我有以下代码:

ProcessStartInfo PSI = new ProcessStartInfo("cmd.exe");
PSI.CreateNoWindow = true;
PSI.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
PSI.RedirectStandardInput = true;
PSI.RedirectStandardOutput = true;
PSI.RedirectStandardError = true;
PSI.UseShellExecute = true;
Process p = Process.Start(PSI);

问题是,当我构建它时,命令提示符仍然出现。我怎么能把它藏起来?谢谢

在Visual Studio中,将项目属性中“应用程序”下的输出类型更改为Windows应用程序

项目属性>应用程序>输出类型:“Windows应用程序”

还可以尝试:

PSI.UseShellExecute = false;

在复制粘贴代码之后,有一个您可能没有注意到的异常
要重定向IO流,必须将UseShellExecute属性设置为false。

另外,
PSI.WindowStyle=System.Diagnostics.ProcessWindowStyle.Hidden不是必需的。这是您的工作代码:

ProcessStartInfo PSI = new ProcessStartInfo("cmd.exe");
PSI.CreateNoWindow = true;
//PSI.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
PSI.RedirectStandardInput = true;
PSI.RedirectStandardOutput = true;
PSI.RedirectStandardError = true;
PSI.UseShellExecute = false;
Process p = Process.Start(PSI);

更新您的原始帖子,说明此
一个问题
:)你的代码很有用。但是我有一个问题,您是否将项目类型设置为“Windows应用程序”而不是“控制台应用程序”?那应该会把窗户藏起来。