2010-08-16 22 views
7

Windows Uygulamamdan bir konsol uygulaması çalıştırmam gerekiyor. Ben çalıştırmak istediğiniz konsol uygulaması benim uygulamasında bir Embedded Kaynak, ve ben bunu böyle sesleniyorum: Bu ince ayıklarKonsolu penceresi, ProcessWindowStyle.Hidden'den sonra bile açılıyor;

// Run the updater and grab its output 
Process Updater = new Process(); 
Updater.StartInfo.FileName = "C:\\tmp\\tmp.exe"; 
Updater.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
Updater.StartInfo.UseShellExecute = false; 
Updater.StartInfo.RedirectStandardOutput = true; 
Updater.Start(); 
string UpdaterOutput = Updater.StandardOutput.ReadToEnd(); 
Updater.WaitForExit(); 

ve iyi çalışır ve aynı zamanda çıkış tamamen iyi tuttu ... ama yine de konsol penceresinin çalışırken hızla açıldığını görebiliyorum. Konsolun başlığı C:\tmp\tmp.exe olduğu için konsolun bu uygulamadan açıldığını biliyorum. Konsol uygulamasını gizlemenin tamamen başarısız bir yolu var mı? ProcessWindowStyle.Hidden'u kullanacağımı sandım ama görünüşe göre değil.

Teşekkürler.

+0

true için, lütfen iplik kapatın. –

+0

@Hans Passant - Günün rep kapağına bastığımda cevabım kabul edilebilir mi? – fletcher

+1

@fletch: emin, yanıt işareti noktalarında kapak yok. –

cevap

16

Seti Bu soru cevaplanır ProcessStartInfo.CreateNoWindow mülkiyet

+0

Ah, Bunu daha önce kullandım ama 'ProcessWindowStyle.Hidden' kullandığımda bir fark yaratmadığını düşünmüştüm. Ve bunu doğruya, yanlışlara göre ayarlamam gerekiyordu. Çok teşekkürler! :) – Kratz

+1

Evet, geç oluyor. Dağınık, çift negatifler ... – fletcher

+0

da bunun yerine mı? – barlop