2010-11-26 28 views
10

En ce moment, je redémarrer mon application avec le code suivantRedémarrer l'ordinateur à partir de l'application 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); 
} 

Mon problème est le suivant affiche un « Windows catastrophiquement redémarrer dans 5 ... 4 ... 3 ... » type de boîte de dialogue , qui rappelle beaucoup Blaster, comment puis-je redémarrer les fenêtres en silence, sans aucune fenêtre de dialogue?

Mise à jour: Les gars, ugh, il est un installateur, il n'a pas « juste redémarrer votre ordinateur de nulle part », il termine l'installation et vous demande si vous voulez redémarrer, si vous le faites, il fait, mais il n'a pas besoin d'une boîte de dialogue système merdique vous disant d'attendre X fois avant de redémarrer.

+4

Il n'a rien à voir avec Blaster :)) En outre, Microsoft a mis en œuvre le -f d'arrêt afin que l'utilisateur peut arrêter le processus de redémarrage. –

+0

Souhaitez-vous Windows XP ou Vista/7? –

+2

Qu'est-ce que Blaster? – abatishchev

Répondre

7

enlever juste le « t5 » une partie de votre liste d'arguments - et immédiatement redémarrer l'ordinateur

+1

cela fonctionne dans Windows 7? –

+0

Cela fonctionne sur Windows Server 2008 R2 - il devrait donc aussi fonctionner sur win7 – Hassan

+2

Je pense que j'ai encore besoin de spécifier "-t 0" – bevacqua