Hallo zusammen,
ich starte aus meiner Form heraus einen Prozess:
Process process = new Process();
process.StartInfo.FileName = @".\\Resources\\anwendung.exe";
process.StartInfo.Arguments = "parameter";
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.RedirectStandardInput = true;
process.ErrorDataReceived += new DataReceivedEventHandler(cmd_Error);
process.OutputDataReceived += new DataReceivedEventHandler(cmd_DataReceived);
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();
process.BeginOutputReadLine();
process.BeginErrorReadLine();
Mein Problem nun:
Die Anwendung gibt Statusmeldungen aus, während sie läuft. Diese möchte ich nun abfangen und in der Form anzeigen. Das Problem ist, dass ich aus "cmd_DataReceived" heraus nicht auf meine Form zugreifen kann... Ich möchte die Ausgabe aber immer wieder aktualisieren, während der Prozess läuft und nicht am Ende ausgeben.
Kann mir jemand nen Tipp geben, wie ich das realisieren kann?
Dank und Gruß
Garv
Hallo garv3,
das gehört zum Thema Invoke: [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)
Das jedoch sind Grundlagen [Hinweis] Wie poste ich richtig? 1.1 und 1.1.1
André