none
"Ayuda" con un codigo RRS feed

  • Pregunta

  • Buenas tardes y un cordial saludo, referente a mi pregunta, me gustaría poder reiniciar el explorador.exe,  tengo un código por CMD y Process, todo funciona bien, el único detalle es cuando intento iniciar con el código "explorer.exe", no inicia después de haberlo cerrado, a continuación, les dejo el código.  

     //Creamos CMD           
                Process Finalizando = new Process();
                Finalizando.StartInfo.FileName = "cmd";
                Finalizando.EnableRaisingEvents = true;
                Finalizando.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                Finalizando.Exited += (a, e) =>
                Dispatcher.Invoke(() => {
                    TimerProgreso.Stop(); //Descativamos Timer Progreso
                    Title = "Completado"; //Title
                    TextoPorcentaje.Text = "Completado"; //Porcentaje
                    TextoSutitulo.Text = "Se realizo el mantenimiento satisfactoriamente";  //Subtitulo
                });
    
                //Ejecutamos acción
                Finalizando.StartInfo.Arguments = @"/a /c taskkill /f /im explorer.exe";
                Finalizando.Start();
    
                //Ejecutamos acción
                Finalizando.StartInfo.Arguments = @"/a /c explorer.exe";
                Finalizando.Start();

    Espero puedan apoyarme, saludos




    • Editado Jovanny CJ lunes, 29 de julio de 2019 17:22
    lunes, 29 de julio de 2019 17:20

Respuestas

  • hola

    >>pero no se inicia para ser mas claros no se ejecuta el siguiente código

    pero el primero si ejecuta?

    que pasa si los inviertes? solo para validar si es que un proceso del explorer impide que el otro se ejecute, puede ser que la app valide que solo se pueda iniciar una sola instancia

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Jovanny CJ lunes, 29 de julio de 2019 23:37
    lunes, 29 de julio de 2019 22:55

Todas las respuestas

  • hola

    no reuses la misma instancia de Process, crea una nuva cuando vayas a lanzar la app nuvamente

    defines

    public function GetProcess()
    {
    	Process Finalizando = new Process();
    	Finalizando.StartInfo.FileName = "cmd";
    	Finalizando.EnableRaisingEvents = true;
    	Finalizando.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    	Finalizando.Exited += (a, e) =>
    	Dispatcher.Invoke(() => {
    		TimerProgreso.Stop(); //Descativamos Timer Progreso
    		Title = "Completado"; //Title
    		TextoPorcentaje.Text = "Completado"; //Porcentaje
    		TextoSutitulo.Text = "Se realizo el mantenimiento satisfactoriamente";  //Subtitulo
    	});
    
    	return Finalizando;
    }

    y luego

    var p1 = GetProcess();
    p1.StartInfo.Arguments = @"/a /c taskkill /f /im explorer.exe";
    p1.Start();
    
    
    var p2 = GetProcess();
    p2.StartInfo.Arguments = @"/a /c explorer.exe";
    p2.Start();

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 29 de julio de 2019 18:03
  • Leandro Tuttini muchas gracias por contestar, realice todo como me lo indicaste y si se cierra el "Explorer.exe" pero no se inicia para ser mas claros no se ejecuta el siguiente código, saludos.

    //Ejcutamos proceso
                var Proceso2 = InicializarProcesoFinalizar();
                Proceso2.StartInfo.Arguments = @"/a /c explorer.exe";
                Proceso2.Start();


    • Editado Jovanny CJ lunes, 29 de julio de 2019 21:04
    lunes, 29 de julio de 2019 21:02
  • hola

    >>pero no se inicia para ser mas claros no se ejecuta el siguiente código

    pero el primero si ejecuta?

    que pasa si los inviertes? solo para validar si es que un proceso del explorer impide que el otro se ejecute, puede ser que la app valide que solo se pueda iniciar una sola instancia

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Jovanny CJ lunes, 29 de julio de 2019 23:37
    lunes, 29 de julio de 2019 22:55
  • Muchas gracias valide que fuese una sola instancia y me funciono correctamente 
    lunes, 29 de julio de 2019 23:38