Exemplo n.º 1
0
        /// <summary>
        /// Permite lanzar una aplicacion.
        /// </summary>
        /// <param name="direccionAplicacion">Ubicacion.</param>
        /// <param name="parametros">Parametros para el lanzamiento.</param>
        /// <param name="tiempoEspera">Tiempo a esperar por el timeout de la aplicacion.</param>
        /// <returns>Devuelve el ExitCode, donde cero es Exito.</returns>
        public static Int32 LanzarAplicacion(String direccionAplicacion, String parametros, Int32 tiempoEspera)
        {
            try
            {
                var parseado = Cadenas.Parsear(direccionAplicacion, "\\");

                var proceso = new Process();
                proceso.StartInfo.FileName = parseado.Last();

                proceso.StartInfo.Arguments = parametros;
                proceso.StartInfo.RedirectStandardOutput = false;
                proceso.StartInfo.UseShellExecute        = true;


                parseado.RemoveAt(parseado.Count - 1);
                proceso.StartInfo.WorkingDirectory = Cadenas.UnirLista(parseado, "\\");

                proceso.Start();

                if (tiempoEspera == 0)
                {
                    tiempoEspera = Int32.MaxValue;
                }

                proceso.WaitForExit(tiempoEspera);

                return(proceso.ExitCode);
            }
            catch (Exception ex)
            {
                throw new DevCityFrameworkException("No se pudo lanzar la aplicacion, compruebe la excepcion interna.", ex);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Devuelve un listado de parametros que tiene dentro el proceso lanzado.
        /// </summary>
        /// <param name="proceso"></param>
        /// <returns></returns>
        public static List <String> ObtenerParametrosInicioAplicacion(Process proceso)
        {
            proceso.StartInfo.RedirectStandardOutput = true;
            proceso.StartInfo.UseShellExecute        = false;
            proceso.StartInfo.CreateNoWindow         = true;

            //var cadena = proceso.StandardOutput.ReadToEnd().ToString();
            var cadena = proceso.StartInfo.Arguments;

            return(Cadenas.Parsear(cadena, " "));
        }