none
Ejecutar una aplicar de Cobol desde C# RRS feed

  • Pregunta

  • Hola a todos. Buenos Días.

    Necesito ejecutar desde una aplicacion que hice en C# un ejecutable de cobol (DOS) al cual le mando unos parametros y no logro que funcione.

    Esto es lo que estoy haciendo:

    myProcess.StartInfo.UseShellExecute = false;
                    myProcess.StartInfo.FileName = @"F:\Mipj\runrm.exe F:\mipj\Rm-Afi";
                    myProcess.StartInfo.CreateNoWindow = true;
                    myProcess.StartInfo.RedirectStandardOutput = false;
                    myProcess.Start();

    Si ejecuto esto solo funciona myProcess.StartInfo.FileName = @"F:\Mipj\runrm.exe"; pero si le mando los parametros no anda me da errror  "La ruta especificada no es valida", tengo una aplicacion hecha en vb6 y con el shell llamo al ejecutable y le mando los parametros ("F:\Mipj\runrm.exe F:\mipj\Rm-Afi") y funciona. No sé como resolverlo con C#.

    Muchas Gracias.

    martes, 18 de noviembre de 2014 14:30

Respuestas

  • myProcess.StartInfo.UseShellExecute = true;

    Con esto el shell del SO inicia el proceso


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    martes, 18 de noviembre de 2014 16:22
    Moderador
  • Lo probé, no me da error, pero igual no funciona.
    Muestre el código que utilizó para probar y explíquenos cómo diagnostica usted que "no funciona".  ¿Qué ve o qué NO ve en la PC cuando ejecuta el código que le hace pensar que está mal?

    Jose R. MCP
    Code Samples

    martes, 18 de noviembre de 2014 16:25
    Moderador

Todas las respuestas

  • La ruta del EXE va en FileName, lo otro va en la propiedad Arguments.

    Jose R. MCP
    Code Samples

    martes, 18 de noviembre de 2014 14:58
    Moderador
  • Lo probé, no me da error, pero igual no funciona.
    martes, 18 de noviembre de 2014 16:16
  • myProcess.StartInfo.UseShellExecute = true;

    Con esto el shell del SO inicia el proceso


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    martes, 18 de noviembre de 2014 16:22
    Moderador
  • Lo probé, no me da error, pero igual no funciona.
    Muestre el código que utilizó para probar y explíquenos cómo diagnostica usted que "no funciona".  ¿Qué ve o qué NO ve en la PC cuando ejecuta el código que le hace pensar que está mal?

    Jose R. MCP
    Code Samples

    martes, 18 de noviembre de 2014 16:25
    Moderador
  • Hola Jose, este es el codigo que utilizo

    Process myProcess = new Process();
    
                try
                {
                    myProcess.StartInfo.UseShellExecute = true;
                    myProcess.StartInfo.FileName = @"F:\Mipj\runrm.exe";
                    myProcess.StartInfo.Arguments = @"F:\mipj\rmafi";
                    myProcess.StartInfo.CreateNoWindow = true;
                    myProcess.StartInfo.RedirectStandardOutput = false;
                    myProcess.Start();
                    sMesage = "Lo ejecuto";
                }

    Le cambie el useshellexceute = true y levanta el proceso, pero abre y cierra la pantalla del dos sin hacer nada, y deberia aparecer una leyenda. Para mi que no toma los parametros que le envio en Arguments.
               

    miércoles, 19 de noviembre de 2014 16:56