Bu programa bazı parametreleri iletmek için başka bir uygulama (konsol) kullanmalıyım ve C# programımın içinde bu programın çıktısını aldım. Konsolu görmemek (kullanıcının göremeyeceği). Bunu nasıl yapabilirim?C# Başka bir toplu iş dosyasından nasıl çıktı alabilirsiniz?
5
A
cevap
17
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("YOUPROGRAM_CONSOLE.exe");
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
string myString = myStreamReader.ReadLine();
Console.WriteLine(myString);
myProcess.Close();
Kaynak: MSDN
Düzenlendi: Eğer zaman uyumsuz işlem kullanmanız gerekecektir Hata mesajı almak gerekiyorsa. Bu bağımlılıkları ve kilitlenme potansiyelini önlemek için asenkron okuma işlemlerini kullanabilirsiniz. Alternatif olarak, iki iş parçacığı oluşturarak ve her bir akışın çıkışını ayrı bir iş parçacığı üzerinde okuyarak kilitlenme durumundan kurtulabilirsiniz.
İlgili konular
- 1. Yığın toplu iş dosyasından çalıştırma
- 2. Bir toplu iş dosyasından hata kodu alın
- 3. Toplu iş komut dosyasından bir toplu iş komut dosyasını nasıl çalıştırırım?
- 4. 32 bit kipte bir toplu iş dosyasından 64 bit kipte toplu iş dosyası nasıl çalıştırılır
- 5. Toplu iş dosyasından çoklu konsol uygulamaları başlatma
- 6. Toplu iş dosyasından bir excel makrosunun yalnızca UserForm'u Nasıl Açılır
- 7. RScript toplu iş dosyasından roxygenize işlevi çağrılamıyor
- 8. Toplu iş dosyasından EXE çağrısı * beklemede * beklemede
- 9. Java, REGEDIT.exe aracılığıyla bir toplu iş dosyasından nasıl yüklenir?
- 10. Toplu iş dosyasından otomatik yürütme, WinRar SFX dosyası nasıl oluşturabilirim?
- 11. Kayıt defterini bir toplu iş dosyasından sorgularken, Verileri sorgulayabilir miyim?
- 12. Toplu iş dosyası, başka bir toplu iş dosyası yürütmeyi tamamlayana kadar nasıl beklemeli?
- 13. Bir toplu iş dosyasındaki dirname() eşdeğerini nasıl alabilirim?
- 14. Toplu iş işlecini kullanarak Matlab'da toplu iş nasıl çalıştırılır,
- 15. deyim çalışmıyor toplu iş (doğrudan başka bir yere)
- 16. Windows toplu iş dosyasından ANSI uyumlu konsolu algıla?
- 17. Başka bir dosyada çıktı
- 18. Metni bir .txt dosyasından başka bir metinle başka bir .txt dosyasından bağlayabilir miyim? C#
- 19. Bir toplu iş programını sürdürme
- 20. Dosyaları başka bir klasöre taşımak için toplu iş dosyası
- 21. Swing UI, toplu iş dosyasından çalıştırıldıktan sonra sonlandırılıyor
- 22. Y bir Windows toplu iş dosyasından Y alt klasörlerinden X türünün N dosyaları nasıl silinir?
- 23. C# İzin sorunu toplu iş dosyası yürütme
- 24. Toplu İş Dosyalarındaki Menüler
- 25. Bir toplu iş dosyasını PowerShell
- 26. Okuma (Bahar Toplu İş)
- 27. Bir toplu iş dosyasından bir Java programını çağırmak için yardım gerekli
- 28. toplu iş dosyası: parametre
- 29. Toplu iş dosyası - Dosyaların bir değişkene yazılması
- 30. Bir toplu iş dosyasında bir giriş cevabını otomatikleştirmek nasıl
"RedirectStandardError" özelliğini de etkinleştirmek ve bu akışı okumanız için Alt işleminizin hata iletileri oluşturması durumunda. – gimel
Bazı bilgileri ekledim. MSDN'de kilitlenmeyi önlemek için birden çok iş parçacığı gerektirdiğini söylüyor. –
Konsolda gerçekten çıktı almak isterseniz, ekstra StreamReader-Object yerine 'Console.SetIn (myProcess.StandardOutput);' kullanabilirsiniz. –