2011-06-28 63 views
2

我有这样的代码:C#隐藏,背景,processinfo

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); 

问题是,当我建立它,在命令提示符下仍然出现。我怎样才能隐藏它?谢谢!

回答

1

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

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

相关搜索:

PSI.UseShellExecute = false; 
+0

你的代码是有帮助的。但是我有问题http://stackoverflow.com/q/6501605/817564 – Lufthansa

+0

您是否将项目类型设置为“Windows应用程序”而不是“控制台应用程序”?这应该隐藏窗口。 –

0

副本后粘贴代码,还有,你可能没有注意到异常。 To redirect the IO streams, the UseShellExecute property must be set to 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); 
+0

感谢您的帮助..但是这一个问题.. – Lufthansa

+0

假设这是我的代码: – Lufthansa

+0

更新您的原始文章与这个'一个问题'的描述。 :) –