Reiniciar Applicacion

09/01/2006 - 15:40 por Alejandro | Informe spam
Hola :)
Como puedo hacer para reiniciar mi aplicacion? Osea, cuando el usuario
guarda nuevas opciones para que tomen efectos debo reiniciar la aplicacion,
cerrarla y volverla a abrir. Como lo logro?

Gracias

Preguntas similare

Leer las respuestas

#6 Vyacheslav Popov
10/01/2006 - 19:08 | Informe spam
Es una solucion factible si lanzas el proceso en segundo plano:

Thread hilo = new Thread(new ThreadStart(AsyncProc));
hilo.IsBackground = false;
hilo.Start();

private void AsyncProc()
{
Thread.Sleep(100);
System.Diagnostics.Process.Start("Aplicacion.exe")
}

"Marino Posadas" escribió en el mensaje
news:%
Hola Alejandro

Para hacerlo bien, habría que meterese en "berenjenales de bajo nivel".
Hay una "chapuza" auténtica que sería
lanzar un nuevo proceso cuando disposed() se produce, llamando a la
aplicación de nuevo:
Private Sub Form1_Disposed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Disposed

System.Diagnostics.Process.Start("Aplicacion.exe")

End Sub

Pero el código de más arriba hace que no haya forma de cerrarla. Tendrias
que pasarle algún argumento de línea de comandos ( utilizando una
instancia de Process, y no la llamada estática que ves en el ejemplo) para
que comprobase si se le ha pasado algo (y se lanza) o si no (y se cierra).
Pero no me gusta nada, la verdad.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net


"Alejandro" <@> escribió en el mensaje
news:%
Hola :)
Como puedo hacer para reiniciar mi aplicacion? Osea, cuando el usuario
guarda nuevas opciones para que tomen efectos debo reiniciar la
aplicacion,
cerrarla y volverla a abrir. Como lo logro?

Gracias






Respuesta Responder a este mensaje
#7 Marino Posadas
10/01/2006 - 19:41 | Informe spam
Hola Vya...

Efectivamente, a eso me refería con los berenjenales. No por que el código
sea muy complicado, sino por la poca costumbre que hay en desarrollos
normales de usar subprocesos.

Aún así, estoy con José Luis en la necesidad de realizar esa acción. Quizá
sería mejor buscar una alternativa.

Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Vyacheslav Popov" escribió en el mensaje
news:
Es una solucion factible si lanzas el proceso en segundo plano:

Thread hilo = new Thread(new ThreadStart(AsyncProc));
hilo.IsBackground = false;
hilo.Start();

private void AsyncProc()
{
Thread.Sleep(100);
System.Diagnostics.Process.Start("Aplicacion.exe")
}

"Marino Posadas" escribió en el mensaje
news:%
Hola Alejandro

Para hacerlo bien, habría que meterese en "berenjenales de bajo nivel".
Hay una "chapuza" auténtica que sería
lanzar un nuevo proceso cuando disposed() se produce, llamando a la
aplicación de nuevo:
Private Sub Form1_Disposed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Disposed

System.Diagnostics.Process.Start("Aplicacion.exe")

End Sub

Pero el código de más arriba hace que no haya forma de cerrarla. Tendrias
que pasarle algún argumento de línea de comandos ( utilizando una
instancia de Process, y no la llamada estática que ves en el ejemplo)
para que comprobase si se le ha pasado algo (y se lanza) o si no (y se
cierra). Pero no me gusta nada, la verdad.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net


"Alejandro" <@> escribió en el mensaje
news:%
Hola :)
Como puedo hacer para reiniciar mi aplicacion? Osea, cuando el usuario
guarda nuevas opciones para que tomen efectos debo reiniciar la
aplicacion,
cerrarla y volverla a abrir. Como lo logro?

Gracias










Respuesta Responder a este mensaje
#8 Vyacheslav Popov
10/01/2006 - 21:30 | Informe spam
Siempre es bueno tener varias alternativas y poder elegir en función de
presupuesto o ganas.


"Marino Posadas" escribió en el mensaje
news:
Hola Vya...

Efectivamente, a eso me refería con los berenjenales. No por que el código
sea muy complicado, sino por la poca costumbre que hay en desarrollos
normales de usar subprocesos.

Aún así, estoy con José Luis en la necesidad de realizar esa acción. Quizá
sería mejor buscar una alternativa.

Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Vyacheslav Popov" escribió en el mensaje
news:
Es una solucion factible si lanzas el proceso en segundo plano:

Thread hilo = new Thread(new ThreadStart(AsyncProc));
hilo.IsBackground = false;
hilo.Start();

private void AsyncProc()
{
Thread.Sleep(100);
System.Diagnostics.Process.Start("Aplicacion.exe")
}

"Marino Posadas" escribió en el mensaje
news:%
Hola Alejandro

Para hacerlo bien, habría que meterese en "berenjenales de bajo nivel".
Hay una "chapuza" auténtica que sería
lanzar un nuevo proceso cuando disposed() se produce, llamando a la
aplicación de nuevo:
Private Sub Form1_Disposed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Disposed

System.Diagnostics.Process.Start("Aplicacion.exe")

End Sub

Pero el código de más arriba hace que no haya forma de cerrarla.
Tendrias que pasarle algún argumento de línea de comandos ( utilizando
una instancia de Process, y no la llamada estática que ves en el
ejemplo) para que comprobase si se le ha pasado algo (y se lanza) o si
no (y se cierra). Pero no me gusta nada, la verdad.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net


"Alejandro" <@> escribió en el mensaje
news:%
Hola :)
Como puedo hacer para reiniciar mi aplicacion? Osea, cuando el usuario
guarda nuevas opciones para que tomen efectos debo reiniciar la
aplicacion,
cerrarla y volverla a abrir. Como lo logro?

Gracias














email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida