2010-11-26 13 views
10

En este momento estoy reiniciar mi aplicación con el siguiente código¿Reiniciar la computadora desde la aplicación WinForms?

private static void Restart() 
{ 
    ProcessStartInfo proc = new ProcessStartInfo(); 
    proc.WindowStyle = ProcessWindowStyle.Hidden; 
    proc.FileName = "cmd"; 
    proc.Arguments = "/C shutdown -f -r -t 5"; 
    Process.Start(proc); 
} 

Mi problema es el siguiente muestra una especie de "Windows se reinicie catastróficamente en 5 ... 4 ... 3 ..." cuadro de diálogo de , una gran reminiscencia de Blaster, ¿cómo puedo reiniciar Windows silenciosamente, sin que aparezca ningún cuadro de diálogo?

Actualizar: Guys, ugh, es para un instalador, no "acaba de reiniciar el ordenador de la nada", termina la instalación y luego le pregunta si desea reiniciar, si lo hace, entonces lo hace, pero no necesita ningún diálogo de sistema defectuoso que le indique que espere X veces antes de que se reinicie.

+4

No tiene nada que ver con Blaster :)) así es como Microsoft implementó el -f apagado para que el usuario puede detener el proceso de reinicio –

+0

¿Está apuntando a Windows XP, o simplemente a Vista/7? –

+2

¿Qué es Blaster? – abatishchev

Respuesta

7

acaba de quitar el "-t 5" parte de su lista de argumentos - y va a reiniciar inmediatamente el equipo

+1

esto funciona en Windows 7? –

+0

Funciona en Windows Server 2008 R2, por lo que debería funcionar también en win7 – Hassan

+2

Creo que todavía necesito especificar "-t 0" – bevacqua

Cuestiones relacionadas