2009-09-11 10:16:21 +0000 2009-09-11 10:16:21 +0000
63
63

Quelle est la commande à utiliser pour mettre votre ordinateur en veille (et non en hibernation) ?

Je veux mettre mon PC Windows (Windows 7) en veille via la ligne de commande (afin de pouvoir me lier au bouton macro du clavier).

Le bouton d'alimentation du PC est configuré pour que l'ordinateur se mette en veille (mais il est posé par terre et je suis trop paresseux pour le toucher) comme je le souhaite (il se met en veille en mode hybride au cas où je perdrais de l'énergie)

La commande de mise en veille du menu d'arrêt fonctionne également.

la plupart des infos que j'ai trouvées disent d'utiliser ;

%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0

Mais cela met l'ordinateur en mode hibernation. J'ai désactivé l'hibernation mais j'utilise le sommeil hybride.

Alors, quelle est la commande à utiliser pour mettre votre ordinateur en veille (et non en hibernation) ?

Réponses (8)

73
73
73
2010-09-15 03:25:22 +0000

J'espère que vous les trouverez utiles.

Arrêt %windir%\System32\shutdown.exe -s

Redémarrage %windir%\System32\shutdown.exe -r

Déconnexion %windir%\System32\shutdown.exe -l

Veille %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby

Hibernation %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate

Attention : rundll32.exe ne doit pas être utilisé pour lancer powerprof.dll . Vous devez plutôt appeler SetSuspendState directement. Cela peut être fait en utilisant Powershell - créez un fichier, par exemple sleep.ps1, avec le contenu ci-dessous.

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Puis lancez le en utilisant powershell -File C:\your-path\sleep.ps1. Vous devrez peut-être d'abord exécuter la commande Set-ExecutionPolicy RemoteSigned pour permettre l'exécution des scripts powershell.

Le script ci-dessus provoque une suspension du système, qui se mettra en veille ou en hibernation selon votre réglage actuel d'hibernation. Pour modifier ce paramètre à partir de la ligne de commande, exécutez la commande powercfg -h off (ou on) à partir de la ligne de commande en tant qu'administrateur.

16
16
16
2009-09-11 10:38:59 +0000

Voir l'utilité gratuite de Wizmo , qui peut faire beaucoup de choses.
La commande que vous recherchez est probablement :

wizmo standby

14
14
14
2011-06-29 18:56:07 +0000

Vous pouvez créer un fichier avec l'extension .ps1 (powershell) comme “sleep.ps1” et écrire ceci :

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Je l'utilise quand j'ai quelque chose qui tourne et que je dois quitter l'ordinateur et que je ne veux pas l'éteindre. Je change donc le script pour qu'il ressemble à ceci :

$minutes = read-host "Enter minutes to wait until sleep";
$secs= 60*$minutes;
Start-sleep -s $secs

Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)

Et maintenant, quand je l'exécute, j'entre juste les minutes que je veux attendre jusqu'au sommeil.

Vous pouvez l'exécuter à partir de la ligne cmd en écrivant

powershell -File C:\your-path\sleep.ps1

Si vous n'avez jamais exécuté un script PowerShell auparavant, vous devrez d'abord exécuter

Set-ExecutionPolicy RemoteSigned

dans PowerShell pour activer l'exécution du script. Cela ne doit être exécuté qu'une seule fois.

13
13
13
2010-05-28 19:01:38 +0000

J'ai trouvé une solution. J'ai installé un programme gratuit appelé AutoHotKey et j'ai enregistré les étapes pour invoquer le menu Démarrer -> Sleep dans un fichier script. J'ai ensuite compilé le fichier script dans un exécutable autonome SleepWin7.exe.

Maintenant, je lance simplement SleepWin7.exe pour mettre mon ordinateur en veille hybride.

Vous pouvez désinstaller AutoHotKey si c'est tout ce dont vous avez besoin.


Mise à jour : La solution ci-dessus ne fonctionne pas lorsque l'utilisateur n'est pas connecté, c'est-à-dire l'écran de connexion de Windows 7. (Mon ordinateur se réveille à 4 heures du matin chaque dimanche pour effectuer une sauvegarde hebdomadaire, qui se fait sans connexion de l'utilisateur). Dans ce cas, le programme Wizmo fonctionne toujours :

wizmo.exe en veille silencieuse !

11
11
11
2012-06-20 19:25:37 +0000

Avec Sysinternals PsTools [download ] :

psshutdown -d

en utilisant l'outil de ligne de commande PsShutdown .

(Vous préférerez peut-être cette solution si vous avez déjà téléchargé PsTools, il est assez largement utilisé. A part cela, cette approche équivaut à utiliser wizmo quiet standby.)

Source : https://superuser.com/a/331545/21887

7
7
7
2012-10-10 04:25:06 +0000

J'utilise cet utilitaire SLEEP.EXE depuis des années. Il fonctionne bien, et vous n'avez pas besoin de vous rappeler quels arguments lui donner pour le mode de suspension (sa forme par défaut de “veille”).

5
5
5
2010-12-16 17:25:46 +0000

Faites un fichier bat, où 600 est le délai en secondes.

ping -n 600 -w 1 127.0.0.1 > nul

powercfg -h off

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby

4
4
4
2010-09-15 00:55:39 +0000

Si vous êtes compétent pour compiler un programme .NET, la commande suivante le fera

System.Windows.Forms.Application.SetSuspendState(PowerState.Suspend, 
                                                 false, /* force */
                                                 true /* disableWake */);

Note: Vous n'avez pas besoin de désactiver l'hibernation comme l'exige la commande rundll32 powrprof.dll,SetSuspendState. Vous pouvez également utiliser PowerState.Hibernate qui mettra la machine en hibernation si vous le souhaitez.

Vous pouvez facilement compiler un EXE avec cette commande avec n'importe quelle version de Visual Studio . Il suffit de créer une application console et d'ajouter une référence à la DLL System.Windows.Forms.