begin process at 2012 02 16 12:25:10
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Shell

 > LA COMMANDE "SHUTDOWN"

LA COMMANDE "SHUTDOWN"


 Information sur le tutoriel

Note :
5,78 / 10 - par 9 personnes
5,78 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 Description

Pour tous ceux qui cherchent à eteindre leur ordinateur par un bouton dans visual basic.

Tutorial

Depuis quelques temps je cherchais à éteindre mon ordinateur par unesimple pression sur un bouton visual basic. J'ai donc fouiller ce siteen obtenant de temps en temps des résultats mais aussi des faussespistes. Pour remettre cela bien au claire pour tout le monde, voici cetutorial qui j'espère vous conviendrat.

Tout commence par l'étude de la commande dos (cmd). En effet il y a uneligne de commande qui permet dans cette commande dos d'éteindre sonordinateur : "shutdown". Je me suis donc documenter sur la question etpour cela il suffit de taper dans cette cmd la commande "shutdown /?"d'ou on obtient la liste suivante :

Utilisation : shutdown [-i | -l | -s | -r | -a] [-f] [-m \\nom_ordinateur] [-t xx] [-c "commentaire"] [-d up:xx:yy]

        Sansargument          Affiche ce message (identique à -?)
       -i                     Affiche l'interface graphique, doit être la 1ère option
       -l                     Ferme la session (ne peut pas être utilisé avecl'option -m)
       -s                     Met l'ordinateur hors tension
       -r                     Met l'ordinateur hors tension et le redémarre
       -a                     Annule une mise hors tension système
        -m\\nom_ordinateur     Ordinateur distant à mettrehors tension/redémarrer/annuler
        -txx                  Définir le délai d'expiration pour la mise hors tension à xx secondes
        -c"commentaire"               Commentaire de la mise hors tension (maximum de 127 caractères)
       -f                     Force des applications en cours d'exécution à se fermer sansavertissement
        -d[u][p]:xx:yy         Le code deraison de la mise hors tension
                               u est le code utilisateur
                               p est un code de mise hors tension planifié
                               xx est le code de raison majeur (valeur entière inférieure à 256)
                               yy est le code de raison mineur (valeur entièrepositive inférieure à65536)

La deuxième question qui se posait alors était : comment interpretercette liste ? Pour faire simple la commande de base est "shutdown" ettout le reste sont ses attributs. Par exemple pour éteindrel'ordinateur avaec un compte à rebourg de 30 secondes et un commentaire: "c'est fini !" il faut entrer la commande suivante : shutdown -s -t 30 -c "c'est fini" (attention il faut respecter les espaces !").

Restait donc l'adaptation de cette commande à visual basic. Pour celarien de plus simple il suffit d'utiliser une commande shell. Parexemple pour éteindre l'ordinateur avec 30 secondes de compte à rebourg: shell("shutdown -s -t 30")

Pour l'éteindre : shutdown /a ou shutdown -a donc dans une shell : shell("shutdown /a")

Voilà donc le travail et vous n'avez plus qu'à l'adapter dans votre programme ! Bonne chance !


 Historique

22 mars 2006 10:32:49 :
Pour l'éteindre

Commentaires

Commentaire de FraGag le 16/03/2006 06:51:11

Shutdown.exe n'existe que depuis Windows 2000. Pas très pratique dans Windows 98... Il y a des APIs pour faire ce travail, et c'est ce que je pensais trouver ici :( ...

Commentaire de ghuysmans99 le 19/03/2006 10:03:32

moi aussi, j'ai win2k donc j'ai pas shutdown.exe ...

Commentaire de morel16 le 19/03/2006 23:54:42

Non ! c'est pas sérieux ça !
Plusieurs erreurs !
1. Ton code c'est shutdown -s -t 30 -c "c'est fini"
Il ne faut pas oublier l'espace entre -t et 30 .

Amusez vous à modifier 30, c'est le nombre de seconde ...
shutdown -s -t 300000000
par exemple :p .

Vous avez surement remarqué que une fois lancé , il est impossible d'arreter la manoeuvre ?
Vous avez beau éssailler d'arreter les processus. vous n'y arriverez pas
hahaha
Comment faire ?

Tout simplement. ceci
shutdown -a

Commentaire de mic38250 le 22/03/2006 10:30:03

Je ne voi pas en quoi ce n'est pas sérieux. Cette commande est très pratique et je ne la trouvait nul-part !
Pour l'arrêter rdv. dans cmd et taper shutdown /a ou alors créer une shell dans vb6 : shell("shutdown /a")
Attention il est vrai aux espaces !

Commentaire de pindo le 22/03/2006 13:44:58

Oui, et j'en suis très reconnaissant en vers vous.
merci

Commentaire de e_NeX le 26/03/2006 06:25:31

salut bah le seul truc qui marche bien sur toutes les versions de windows c'est ca : http://www.vbfrance.com/codes/REBOOT_21091.aspx

on peut faire un reboot en local et a distance!!! seul pb c'est que pour faire le reboot ou le shutdown a distance, faut avoir le pass d'un compte admin sur la machine distante... si tu l'a bin connecte toi sur cette machine avec explorer et entre le le mot de passe et Reboot ou étenit la machine!!! aussi le truc bien c'est que tu peut annule un reboot ou un shut down.. je vous laisse tester ;) ca utilise les API windows;)

Commentaire de Nuker3000z le 04/04/2006 02:40:30

T'es débile. 0/10

Commentaire de nico1610 le 04/04/2006 17:29:56

CITATION DE NUKER3000Z : "T'es débile. 0/10"

ce genre de remarqe n'a rien avoir avec le code et n'apporte rien d'instructif, détail ton commentaire.

Lit un peut la chartre : "En cas de commentaire irrespectueux, votre commentaire risque la même peine et sans préavis ni justification alors merci de rester calme et courtois tout au long de vos échanges."

Commentaire de blinix123 le 08/04/2006 00:40:54

si je me souviens bien...effectuer un "Fermer la session" (shutdown.exe -l -t 0) ou un "Redémarrer l'ordinateur" (shutdown.exe -r -t 0)

Commentaire de blinix123 le 08/04/2006 00:46:49

pour crer le raccourci pour redemarrer windows
Il suffit de faire un clique droit sur le bureau puis selectionner

nouveau->raccourci->puis dans l'emplacement
%windir%\System32\shutdown.exe -r -f -t 0
donner lui le nom que vous souhaitez et voila MAGIK


pour crer le raccourci pour arreter windows
Il suffit de faire un clique droit sur le bureau puis selectionner

nouveau->raccourci->puis dans l'emplacement
%windir%\System32\shutdown.exe -s -f -t 0
donner lui le nom que vous souhaitez et voila MAGIK

Commentaire de Benharper27 le 12/04/2006 14:54:40

Merci pour l'info.
Je l'utilise pour un programme que j'ais fait qui repère les activités suspecte sur mon ordi.
Pour le coup du 3000000 seconde, je ne crois pas que se soit possible car si tu lit bien le tuto, on ne peut rentrer que 2 chiffre donc au maximum 99 secondes.

Commentaire de moh77 le 12/04/2006 23:34:53

Merci
Mais c'est trops tar

Commentaire de abbassi_omar le 18/04/2006 04:07:34

salut a tt
je veux savoir comment atteindre un poste dans le resaux local
j'ai essaie mais toujour pas de reponse
une idee SVP
et merci

Commentaire de EvildarkEurope le 29/04/2006 13:13:41

Shutdown -s -m //pcreseau -t 200 -c "bye bye" -f

Pour ceux qui veulent des Api, rien à voir avec les Shutdown mais tout aussi utile :

   Declare Sub LockWorkStation Lib "user32" ()

LockWorkStation permet de vérrouiller très simplement un PC. Cette fonction équivaut à faire [Control]+[Alt]+[Suppr], puis à cliquer sur "Vérrouiller l'ordinateur".
RAPPEL > Il y a pas le menu sous XP mais sa marche quand même.

Commentaire de morel16 le 30/04/2006 13:28:31

CITATION DE Benharper27
<< Pour le coup du 3000000 seconde, je ne crois pas que se soit possible car si tu lit bien le tuto, on ne peut rentrer que 2 chiffre donc au maximum 99 secondes. >>


Je maintient ce que j'ai dit ! shutdown -s -t 300000 peut fonctionner ! Et shutdown -s -t 300000000 fonctionne aussi !! ce qui fait 300000000 secondes, soir 3472 jours !
Sur windows XP j'en suit sur a 100 %

<<on ne peut rentrer que 2 chiffre donc au maximum 99>>
donc ceci est faux .

Commentaire de themioux le 08/05/2006 23:19:32

Salut à tous

Pour ce qui est de shutdown, il apparait dans Windows 2000 Ressource Kit et n'est pas intégré directement

Pour windows 98, si mes souvenirs sont bons, la commande c'est "rundll32.exe user.exe,exitwindows" il me semble (pas de windows 98 sous la main pour tester)

On doit donc pouvoir faire un truc du genre
shell("shutdown -s -t 0")
shell("rundll32.exe user.exe,exitwindows")
même si c'est pas super propre, ca doit fonctionner

Commentaire de ROOTVL69 le 31/05/2006 14:29:09

Pour windows 98, c'est effectivement la commande rundll32.exe user.exe,exitwindows.
Cela faisait longtemps que je cherchais un truc de ce genre pour arreter XP plus rapidement...
Merci, 8/10

Commentaire de twh19 le 09/08/2006 14:10:13

Private Sub Form_Load()
retvalue = GetSetting("A", "0", "Runcount")
GD$ = Val(retvalue) + 1
SaveSetting "A", "0", "RunCount", GD$
If GD$ > 3 Then ' ÇMsgBox"finish of program"
Unload FRM '
End If
End Sub

Commentaire de yakou32 le 13/10/2006 12:59:50

OK, mais pour arrêter un PC du réseau, je reçois "Accès Refusé"...
Comment fais-je ???

Commentaire de morel16 le 03/11/2006 10:31:07

Essaille déja avec les parfeux éteints sur les 2 pc.

Commentaire de hnoura le 30/09/2007 07:49:26

salut pour tous,je fais une auto shutdown avec 3 option:
1 shutdown
2 restart
3 log off
et avec un progress bar pour indique conbien il reste de temps ,j'utilise le shell
maintenant j'essaye de remote l'autre pc avec cette commande ,qui peut  de donne de conseil,je suis tres remerciment

Commentaire de Arphyss le 24/10/2008 10:48:04

Bien le bonjour.

Cette commande hyper simple m'a été très utile, mais en ce qui me concerne la syntaxe doit être légèrement différente puisque j'utilise VB.net et Visual Studio 2008 (j'ignore si le même problème subsiste avec d'autres versions).

En effet, pour afficher les commentaires, il convient de faire des double guillemets:

shell (Shell("shutdown -s -t 30 -c ""blablabla"" ")

Sinon les premiers guillemets avant blablabla vont fermer le string de la commande shell. C'est tout bête mais faut le savoir ;)

Commentaire de Arphyss le 24/10/2008 10:50:59

Oups faute de frappe (et oui...)

c'est bien

Shell("shutdown -s -t 30 -c ""blablabla"" "

qu'il faut taper :p

Commentaire de themioux le 24/10/2008 10:54:03

Rien à voir avec la commande... En VB.Net, pour mettre une paire de guillemets dans une chaine de caractère, il fait la doubler.

Pour vous en convaincre, il suffit de définir une variable contenant la commande à exécuter et l'afficher.

Dim cmd_shell As String

cmd_shell = "shutdown -s -t 30 -c ""blablabla"" "

MessageBox.Show (cmd_shell) // affiche 'shutdown -s -t 30 -c "blablabla"'

Commentaire de Kai_Ho le 31/10/2008 06:28:08

Bonjour,
Pour ma part, la commande
shell (Shell("shutdown -s -t 30 -c ""blablabla"" ") fonctionne bien

Mais si je place une variable à la place de 30, rien ne se passe


shell (Shell("shutdown -s -t Mavariable -c ""blablabla"" ")

Une explication ?

Commentaire de themioux le 31/10/2008 09:01:43

Absolument...

Si vous tapez shutdown -s -t Mavariable -c "blablabla" dans une ligne de commande, vous aurez également une erreur... Si vous voulez le contenu de Mavariable dans la chaine il faut faire

shell("shutdown -s -t " & Mavariable & " -c ""blablabla"" ")

Commentaire de cdamien44 le 31/10/2008 12:28:48

Sur du réseau, commande en "Executer" :Shutdown -i
faire ajouter, mettre le nom du PC, et commentaire si necessaire.
plutot simple :-)

Commentaire de Kai_Ho le 31/10/2008 12:50:46

Merci Themioux... C'est vrai que ça fonctionne mieux comme ça :-)

Commentaire de stachys le 26/02/2010 14:54:12

Merci pour ce petit tutoriel. Je ne savais pas comment intégrer cette fonction à mon programme vb6.

Commentaire de Minikody1997 le 15/11/2010 13:09:19

Et comment fait-ton pour hiberner ?

Commentaire de gootsu le 22/12/2010 01:48:03

Pour ceux a qui ça intéresse d'arrêter leur PC à heure fixe en cmd dos vous avez la commande suivante à votre service :

AT heure "commande"

exemple:
AT 10:00 shutdown -s -f

possibilité de répéter l'action quotidiennement... etc...

cdt,
gOOtsu

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,140 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales