2011-06-28 9 views
2

processinfo私はこのコードを持っている:C#の非表示、背景、

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

あなたの助けてくれてありがとう..しかし、1つの問題があります。 – Lufthansa

+0

これは私のコードだとします: – Lufthansa

+0

オリジナルの記事をこの「一問題」の説明で更新してください。 :) –

関連する問題