2011-06-28 112 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

更新您的原始文章與這個'一個問題'的描述。 :) –