2010-06-22 19 views
5

Birkaç yürütülebilir dosyayı çalıştırması gereken bir .Net uygulamasına sahibim. İşlem sınıfını kullanıyorum, ancak Process.Start engellemiyor. İkinci koşulardan önce bitirmek için ilk işleme ihtiyacım var. Bunu nasıl yapabilirim?Süreçleri eşzamanlı olarak nasıl çalıştırabilirim, aynı çıktıyı hedefliyor muyum?

Ayrıca, tüm işlemlerin hepsinin aynı konsol penceresine çıkarılmasını isterim. Öyle olduğu gibi, kendi pencerelerini açıyorlar. Eminim konsola yazmak için StandardOutput akışını kullanabilirim, ancak varsayılan çıktıyı nasıl bastırabilirim? çıkışı için

Process p = Process.Start("myapp.exe"); 
p.WaitForExit(); 

:

StreamReader stdOut = p.StandardOutput; 

Sonra herhangi akışı okuyucu gibi kullanabilirsiniz

cevap

10

ben aradığınız inanıyoruz.

ProcessStartInfo pi = new ProcessStartInfo("myapp.exe"); 
pi.CreateNoWindow = true; 
pi.UseShellExecute = true; 

// Also, for the std in/out you have to start it this way too to override: 
pi.RedirectStandardOutput = true; // Will enable .StandardOutput 

Process p = Process.Start(pi); 
+0

Mükemmel:

biraz zor pencereyi bastırmak için! Çıktıdaki herhangi bir fikir var mı? –

+0

Çıktı için güncellendi. – Aren

+0

Ancak, her işlem için açılan konsol penceresini nasıl bastırırım? –

İlgili konular