C# winform'umdan bazı c kodu içeren bir exe dosyası çalıştırıyorum ancak c kodunun tam çıktısını yalnızca exe uygulamasının tamamlanmasından sonra elde ediyorum. Exe'nin çıktısını eşzamanlı olarak winformuma aktarmasını istiyorum (hat gerçek zamanlı olarak). gevşek this example den uyarlanmıştırBir işlemin sınamalarını okuma zamanları
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "background.exe",
Arguments = command,
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{
ConsoleWindow.AppendText(proc.StandardOutput.ReadLine());
ConsoleWindow.AppendText(Environment.NewLine);
}
Bazı c kodları ne demek istiyorsun? * İşlemi * işleme koymadıkça çıktıya hiçbir metin yazılmaz. Background.exe dosyasının kodunu kontrol etmelisiniz. Ve 'background.exe' aslında bir derlenmiş, ikili yürütülebilir dosya ve farklı bir uzantı –
ile bir C dosyası olduğundan emin olun Bu [soru] (http://stackoverflow.com/questions/285760/how- bir-işlem-ve-yakalamak-onun-stdout-in-net) ve bu [soru] (http://stackoverflow.com/questions/18588659/redirect-process-output-c-sharp)? –
Tüm kod örneklerini kontrol ettiler ve çıktıları yalnızca işlem bittikten sonra okuyorlar. –