Sleep timer no Windows

0

Eu quero executar um gerador de ruído específico no meu PC (mynoise.net) à noite e tê-lo em funcionamento por um determinado período de tempo antes de colocar o Windows em suspensão (não quero desligar o Windows, apenas faça exatamente o mesmo que se eu tivesse pressionado Iniciar > Power > Sleep).

Eu também gostaria que os monitores estivessem desligados - embora eu prefira não usar seus comutadores físicos, porque isso inicia a troca de janelas, a reconfiguração do monitor principal etc. EDIT : quero dizer monitores desligado durante o tempo antes de dormir, para que eles não me incomodem em uma sala escura, enquanto o gerador de ruído está funcionando.

Eu tentei simplesmente alterar as Opções de energia, que tem configurações para "Desativar a exibição" e "Colocar o computador em suspensão", mas

a) Eu então tenho que lembrar de alterar manualmente as opções de energia de volta na manhã seguinte. Eu só quero um timer de sono one-off .

b) O site do gerador de ruído pára o Windows dormir (provavelmente por design). Então eu preciso de algo que forçará o sono, como se eu tivesse selecionado através do menu Iniciar.

Alguma sugestão? Talvez algum aplicativo que eu não tenha encontrado, ou algo parecido com uma instrução de linha de comando que eu possa colocar em um arquivo de lote ou disparar com o AutoHotkey?

    
por Luigi Plinge 09.09.2015 / 15:34

2 respostas

1

  1. Clique em Iniciar
  2. Clique em Todos os Programas
  3. Clique em Acessórios > Bloco de notas
  4. Copie e cole o seguinte comando no bloco de notas e salve como sleepcommand.bat em seu local preferido.

rundll32.exe powrprof.dll,SetSuspendState 0,1,0

  1. Clique em Iniciar
  2. Clique em Todos os Programas
  3. Clique em Acessórios > Ferramentas do sistema > Agendador de Tarefas
  4. Quando o Agendador de Tarefas estiver aberto, você poderá criar sua própria tarefa personalizada clicando em Criar Tarefa Básica. Essa ação inicia um assistente que o orienta pelo processo, perguntando a você qual programa você deseja executar. Aponte para o local onde você salvou sleepcommand.bat e defina um cronograma.
por 09.09.2015 / 15:50
0

Eu fiz um script AHK que faz o que eu quero:

; Monitors off and sleep [Win S]
;
#s::
  MsgBox, 1, Sleep timer, Monitors will go off, and computer will sleep in 45 minutes. Press Win+Esc at any time to cancel script.
  IfMsgBox Cancel
    Return
  Sleep 1000
  ; Turn off monitors
  SendMessage, 0x112, 0xF170, 2,, Program Manager
  ; Pause for 45 minutes
  Sleep 1000 * 60 * 45
  ; Put Windows to sleep
  DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
Return

; Cancel script [Win Esc]
#Esc::
  MsgBox Cancelling AHK script.
  Reload
Return
    
por 09.09.2015 / 18:37