Comment éteindre son ordinateur en une seule ligne ?

Soyez le premier à donner votre avis sur cette source.

Snippet vu 22 661 fois - Téléchargée 34 fois

Contenu du snippet

J'ai remarqué que pour éteindre windows xp , la méthode habituelle fonctionnait mais sous réserve d'avoir les privilèges , etc ...

J'étais persuadé qu'il existait une méthode alternative pour mettre hors tension , J'ai cherché , j'ai cherché , et j'ai trouvé ...

Je ne vous ferais pas attendre plus longtemps , voici la source ...
( testé sous windows xp )

( webdeveloper asp/php )

Source / Exemple :


// arreter le pc avec un délai , vous avez 20 secondes pour annuler l'extinction
winexec('C:\WINDOWS\system32\shutdown.exe' + ' -s',SW_SHOWNORMAL); 
// cette commande sert à annuler le compte a rebours
winexec('C:\WINDOWS\system32\shutdown.exe' + ' -a',SW_SHOWNORMAL);

// Comme vous pourrez le remarquez sur les commandes visible en dessous
// il est aussi possible d'éteindre un pc a distance ( réseau local ) 
// ça peut toujours servir ...

( commandes (dos) possibles ) 

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

        Sans argument           Affiche ce message (identique à -?)
        -i                      Affiche l'interface graphique, doit être la 1ère
 option
        -l                      Ferme la session (ne peut pas être utilisé avec
l'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 à mettre hors tension/redémar
rer/annuler
        -t xx                   Définir le délai d'expiration pour la mise hors
tension à xx secondes
        -c "commentaire"                Commentaire de la mise hors tension (max
imum de 127 caractères)
        -f                      Force des applications en cours d'exécution à se
 fermer sans avertissement
        -d [u][p]:xx:yy         Le code de raison 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ère
positive inférieure à 65536)

Conclusion :


[ < Mystérieux > ]

A voir également

Ajouter un commentaire

Commentaires

cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
23 -
Ce n'est pas à proprement parler un code source mais ça peut rendre des services intéressants.
Et quelle est la source de cette information rare ?
NB : le délai de 20 secondes est une valeur par défaut que l'on peut modifier si je ne m'abuse ?
cs_mysterieux
Messages postés
1
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
12 mars 2003
-
Effectivement puisque l'application appelle un programme intermédiaire , shutdown.exe qui se trouve dans le repertoire système ( en mode dos ).

c'est en cherchant sur les moteurs us une méthode d'arrêt de windows simple , que j'ai remarqué qu'il existait un programme en dos , je l'ai testé en mode dos ensuite j'ai essayé de l'exploiter à travers mon programme . je n'ai trouvé ce code nulle part .

( Ce code pourrait être intéressant dans la mesure ou il serait possible d'éteindre n'importe quel système windows sans tenir compte de la version , je vais le tester sous win 9x )


Pour répondre à ta question le délai est modifiable
il suffit de changer la commande de mettre " -i "
cette commande permet d'ouvrir l'interface graphique qui gére le délai d'arrêt et les extinctions planifiés .

il est aussi possible d'arrêter le système immédiatement ...

<< Mystérieux >>
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
23 -
Pour info, ce programme (shutdown.exe) n'existe pas sous Win ME.
Marneus Calgar
Messages postés
39
Date d'inscription
mardi 3 octobre 2000
Statut
Membre
Dernière intervention
10 juin 2005
-
Salut

Juste pour information, Windows n'est pas toujours installé dans le répertoire C:Windows... De plus, il faut vérifier que l'executable existe avant de l'appeler...

function GetSysDir: string;
var
P: PChar;
begin
P := GetMemory(MAX_PATH);
GetSystemDirectory(P, MAX_PATH);
Result := IncludeTrailingPathDelimiter(P);
end;

function CanShutDown: boolean;
begin
Result := FileExists(GetSysDir + 'shutdown.exe');
end;

procedure ShutDown;
begin
if CanShutDown then
WinExec(PChar(GetSysDir + 'shutdown.exe'), SW_SHOWNORMAL);
end;

Dark Skull Software
http//www.darkskull.net

A+
Marneus Calgar
Messages postés
39
Date d'inscription
mardi 3 octobre 2000
Statut
Membre
Dernière intervention
10 juin 2005
-
Arf, j'avais oublié de libérer la mémoire...

function GetSysDir: string;
var
P: PChar;
begin
P := GetMemory(MAX_PATH);
GetSystemDirectory(P, MAX_PATH);
Result := IncludeTrailingPathDelimiter(P);
Free(P);
end;

Dark Skull Software
http//www.darkskull.net

A+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.