shutdown.exe
os atalhos funcionam perfeitamente para desligar e reiniciar:
C:\Windows\System32\shutdown.exe /s /t 00
C:\Windows\System32\shutdown.exe /r /t 00
Não quero fazer o Hibernate, mas gostaria de fazer o Standby como no Windows XP, com um clique duplo na minha área de trabalho.
No Win 8, é preciso mais esforço do que o necessário para clicar para dormir.
Então, eu li que você precisa usar o seguinte rundll32
comando para fazer o modo de espera e que a hibernação deve estar desativada, então transformei o seguinte em um arquivo .bat com um atalho para ele. Ainda é necessário pressionar o botão liga / desliga para ligar o computador, em vez de pressionar uma tecla do teclado ou mover o mouse:
C:\Windows\System32\powercfg -hibernate off
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0
PsShutdown
funciona muito bem para todos os três: Desligar, Reiniciar e Espera.
Atualmente estou usandoPsShutdown v2.52:
"C:\Program Files\Standby\psshutdown.exe" -k -t 0
"C:\Program Files\Standby\psshutdown.exe" -r -t 0
"C:\Program Files\Standby\psshutdown.exe" -d -t 0
Gostaria apenas de saber qual é o comando real que o Windows 8 usa para colocar o computador no modo de suspensão?
É um comando de linha? Onde você encontrou? Como você descobre o que é?
Acho que usaria um comando de linha, pois seria mais simples do que precisar usar outro programa.
O Windows 8 está fazendo o trabalho de alguma forma. Talvez seja realmente mais complicado de fazer do que usar alguns comandos de linha.
Responder1
Decidi que usarei apenas o Classic Shell - a versão atual é 3.6.2 - funciona muito bem
Responder2
Eu também tentei:
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0
mas ele desliga em vez de dormir/espera
MAS graças aPsDesligamento.exe conforme mencionado acima com uma opção específica:
"C:\Program Files\Standby\psshutdown.exe" -d -t 0
FUNCIONA COMO STANDBY ou como Sleep como deveria.
Obrigado
Responder3
Parece que você espera que as coisas funcionem como o Linux.
A linha de comando é bem respeitada pela maioria dos programas Linux e, de fato, na maioria das vezes, muitos programas e caixas de diálogo estão construindo um comando que é então executado - o que isso realmente significa é carregar um executável com a especificação de seus argumentos de "linha de comando" .
O Windows não está enraizado na mesma tradição e geralmente quando algo do Windows tem funcionalidade "exposta" é através de DLLs ou interfaces COM ou, mais recentemente, objetos .NET. Portanto, em vez de invocar um comando, é muito mais provável que o Windows chame uma função DLL (por ordinal em alguns casos e NÃO por nome), um método de objeto COM ou .NET.
Esse material é exposto a você, um usuário não programador, por meio rundll32
(mas geralmente não bem documentado) da API COM (é melhor estar preparado para ler muitos documentos, entender a programação orientada a objetos), que é acessível via Windows Script Host (outro camada de componentes tornada acessível ao usuário final por meio de wscript.exe
e/ou cscript.exe
) e .NET (divide Powershell e Visual Studio para este). Muitos dos miniaplicativos do painel de controle provavelmente explorer.exe
estão fazendo chamadas de sistema, chamadas DLL ou chamadas COM diretamente.
Parece confuso, e é. A boa notícia é que, com a introdução do Powershell, tem havido uma tendência constante de que " cmdlet
s" estejam disponíveis para fazer praticamente qualquer coisa e, finalmente, fornecer ao Windows um ambiente de linha de comando rico e consistente. Não conheço o comando Powershell para colocar o Windows em suspensão, mas tenho certeza de que existe um.
Posso estar terrivelmente errado/incompleto sobre tudo isso (programador IANA Windows), tenho certeza que outros comentarão e você deve ler esses comentários.