SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: yomariano en Viernes 17 de Junio de 2011, 18:32
-
Les cuento, yo estoy haciendo un codigo para poder ejecutar un .exe desde c#. Resulta que yo le paso los parametros al metodo StartInfo.Arguments de la siguiente manera:
private static void EjecutarProceso()
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "C:\Users\user\Desktop\programa\programa";
p.StartInfo.UseShellExecute = false;
p.StartInfo.Arguments = @"--host=host --port=port --user=user@mail.com --pass=pass";
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
try
{
System.Console.WriteLine("Inicializando...");
p.Start();
System.Console.WriteLine("Proceso iniciado.");
System.Console.WriteLine(p.StandardOutput.ReadToEnd());
System.Console.WriteLine(p.StandardError.ReadToEnd());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
Compila todo muy bien, pero no ejecuta el programa. Pero si le saco la parte de argeuments, el programa ejecuta y me pide los parametros. Busque por todos lados y me volvi loco, no encuentro la solucion a esto ya.
Alguien tiene idea?
Saludos y gracias!
-
puede que te falte el .exe?
p.StartInfo.FileName = "C:\Users\user\Desktop\programa\programa.exe";
si no es eso luego lo miro que no recuerdo muy bien como iba. Saludos
-
No es eso.. en el administrador de tareas de windows, el programa ese me ejecuta y aparece ahi. El tema es que por algun motivo no esta leyendo los parametros que le envio.
Saludos.
-
Ya probe esto:
p.Start(@"C:UsersuserDesktopprogramaprograma. exe","--host=host --port=port --user=user@mail.com --pass=pass");
y me tira este error:
No se puede obtener acceso al miembro 'System.Diagnostics.Process.Start(string, string)' con una referencia de instancia; certifíquelo con un nombre de tipo en su lugar (CS0176) -