View Full Version : [C#]: Classe Process per eseguire processi
Salve,
come posso gestire un programma con c#?
questo programma si gestisce da console, si digitano dei comandi e restituisce un output
in c#
Process prog = new Process();
prog.StartInfo.FileName = "path del programma";
prog.StartInfo.Arguments = "argomenti opzionali per l'avvio";
prog.start(); //lancio il programma e fin qui tutto ok
adesso vorrei inviare comandi e leggere l'utput
è possibile?
saluti
Einstein
10-04-2009, 09:46
Dovrebbe bastare eseguire una redirezione dello Standard Output:
prog.StartInfo.UseShellExecute = false;
prog.StartInfo.RedirectStandardOutput = true;
prog.Start();
string output = prog.StandardOutput.ReadToEnd();
prog.WaitForExit();
Maggiori informazioni qui:
http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput.aspx
ok grazie mille... invece per inviare comandi?
in effetti quest'appicazione è grads http://www.iges.org/grads/
la eseguo in modalità batch aggiungendo -b alla proprietà arguments
poi fuziona come una shell...
es
ga-> <esegui comnado> es open per aprire i file
ga-> <leggi variabile>
ga-> restituisce un valore
prima di leggerlo il valore dovrei inviare i comandi per averlo...
grazie mille per l'aiuto
Einstein
14-04-2009, 07:44
dovrebbe essere una cosa analoga alla precedente, ma va usato lo standard input al posto dello standard output:
prog.StartInfo.UseShellExecute = False;
prog.StartInfo.RedirectStandardInput = True;
prog.Start();
prog.StandardInput.WriteLine("<comando>");
Maggiori informazioni qui: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardinput.aspx
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.