Qual é o comando real que o Windows 8 usa para colocar o computador no modo de suspensão?

Qual é o comando real que o Windows 8 usa para colocar o computador no modo de suspensão?

shutdown.exeos 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 rundll32comando 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

PsShutdownfunciona 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.exee/ou cscript.exe) e .NET (divide Powershell e Visual Studio para este). Muitos dos miniaplicativos do painel de controle provavelmente explorer.exeestã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 " cmdlets" 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.

informação relacionada