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

Qual é o comando a utilizar para colocar o computador a dormir (não hibernar)?

Quero colocar o meu PC Windows (Windows 7) num estado de latência através de linha de comando (para poder ligar ao botão macro no teclado).

O botão de energia no PC está configurado para mas o computador para dormir (mas está no chão e sou demasiado preguiçoso para o alcançar) é exactamente como o quero (dorme usando o modo híbrido no caso de perder energia)

O comando de sono no menu de desligamento também funciona.

a maioria das informações que encontrei dizem para usar;

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

mas isto coloca o computador em modo hibernar. Tenho a hibernação desactivada mas usando o sono híbrido.

Então, qual é o comando a usar para pôr o computador a dormir (não hibernar)?

Respostas (8)

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

Espero que estes lhe sejam úteis.

Encerramento %windir%\System32\shutdown.exe -s

Reinício %windir%\System32\shutdown.exe -r

Logoff %windir%\System32\shutdown.exe -l

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

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

Cuidado: rundll32.exe não deve ser utilizado para lançar powerprof.dll . Em vez disso, deve chamar directamente SetSuspendState. Isto pode ser feito usando Powershell - criar um ficheiro, por exemplo sleep.ps1, com o conteúdo abaixo.

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

Depois execute-o usando powershell -File C:\your-path\sleep.ps1. Pode ser necessário executar primeiro o comando Set-ExecutionPolicy RemoteSigned para permitir a execução de powerhell scripts.

A script acima causa uma suspensão do sistema, que irá ou dormir ou hibernar dependendo da sua configuração actual de hibernação. Para alterar essa configuração a partir da linha de comando, execute powercfg -h off (ou on) a partir da linha de comando como administrador.

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

Ver a utilidade gratuita de Wizmo , que pode fazer muitas coisas.
O comando que procura é provavelmente:

& > wizmo standby

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

Pode criar um ficheiro com extensão .ps1 (powerhell) como “sleep.ps1” e escrever isto:

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

Uso isto quando tenho algo a funcionar e tenho de deixar o pc e não o quero desligar. Por isso, mudo o guião para ter este aspecto:

$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)

E agora, quando o corro, apenas introduzo os minutos que quero esperar até dormir.

Pode executar isto a partir da linha cmd escrevendo

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

Se nunca executou um script PowerShell antes, vai querer executar primeiro

Set-ExecutionPolicy RemoteSigned

em PowerShell para permitir a execução do script. Isto só tem de ser executado uma vez.

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

Encontrei uma solução. Instalei um programa freeware chamado AutoHotKey e gravei os passos para invocar o Menu Start -> Sleep into a script file. Depois cumpri o ficheiro de script para um executável autónomo SleepWin7.exe.

Agora simplesmente executei SleepWin7.exe para colocar o meu computador em sono híbrido.

Pode desinstalar o AutoHotKey se for só para isto que precisa.


Actualização: A solução acima não funciona quando o utilizador não está ligado, ou seja, o ecrã de início de sessão do Windows 7. (O meu computador acorda às 4 da manhã todos os domingos para efectuar cópias de segurança semanais, o que é feito sem início de sessão do utilizador). Neste caso, o programa Wizmo ainda funciona:

& > wizmo.exe em modo de espera silencioso!

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

Com Sysinternals PsTools [ download ]:

psshutdown -d

usando a ferramenta de Linha de Comando PsShutdown .

(Pode preferir esta solução se já tiver descarregado PsTools, é bastante utilizada. Além disso, esta abordagem é equivalente a utilizar wizmo quiet standby.)

Fonte: https://superuser.com/a/331545/21887 &

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

Utilizo este SLEEP.EXE utilitário há anos. Funciona bem, e não precisa de se lembrar que argumentos lhe dar para o modo suspenso (a sua forma padrão de “sono”).

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

Fazer um ficheiro de morcegos, onde 600 é atraso em segundos.

ping -n 600 -w 1 127.0.0.1 {\i1}nul

powercfg -h off

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

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

Se for competente para compilar um programa .NET o seguinte comando fará isto

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

Nota: Não é necessário desactivar a hibernação como é exigido pelo comando rundll32 powrprof.dll,SetSuspendState. Também pode utilizar o PowerState.Hibernate que hibernará a máquina, se assim o desejar.

Poderá facilmente compilar um EXE com este comando com qualquer versão do Visual Studio . Basta criar uma aplicação de consola e adicionar uma referência ao System.Windows.Forms DLL.