programm aus einem anderen aufrufen und "auswerten".........
-
hey leute
ich suche einen weg, um zwischen 2 programmen zu kommunizieren
d.h. mein programm ruft ein externes (commandozeilen-)programm (von drittanbietern) auf, gibt ihm einen befehl und liest dessen ausgabe ein, um sie zB in einem label in meinem programm wieder "aufzuschreiben"
ich schreibe im moment eine kleine IDE, nix großes, nur zu übungszwecken^^, diese soll verschiedene compiler unterstützen, also muss meine ide den entsprechenden (commandline)compiler mit den entsprechenden argumenten (output file name, optimization flags, etc.) aufrufen, dabei dessen (consolen)fenster möglichst "versteckt" halten und dessen output (fehlermeldungen, warnungen, etc.) wieder an meine ide zurückgeben, damit diese die fehler/warnungen/... behandeln oder einfach dem user zeigen kann.
nun endlich die frage: wie würdet ihr sowas realisieren, oder generell: wie realisiert man sowas
bin für jeden tipp/link/tutorial/google-suchwort/... dankbar
danke im voraus
-
den compiler so aufrufen:
programm -option >log.log
dann die Datei log.log auswerten
-
Process compiler = new Process(); compiler.StartInfo.FileName = "csc.exe"; compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs"; compiler.StartInfo.UseShellExecute = false; compiler.StartInfo.RedirectStandardOutput = true; compiler.Start(); Console.WriteLine(compiler.StandardOutput.ReadToEnd()); compiler.WaitForExit();
Ist ein Beispiel aus der MSDN.
-
aaaah,
danke, genau das hab ich gesucht
ich hatte schon ein wenig in der msdn rumgestöbert, wusste aber nicht wirklich, wonach ich suchen sollte, also:
nochmals danke