Se questo è un programma a riga di comando, allora è possibile inviare comandi da Ruby a riga di comando utilizzando apici inversi come questo
puts `command here`
così allora è possibile impostare il computer di non dormire con l'invio di questo comando
c:\windows\system32\powercfg.exe -change -standby-timeout-ac 0
come questo
puts `c:\\windows\\system32\\powercfg.exe -change -standby-timeout-ac 0`
Devi sfuggire allo \
con il doppio. Testato e funziona per me, anche se su un laptop. Presumo che funzionerebbe lo stesso su un desktop.
Il numero alla fine è il tempo in minuti prima di mettere il computer in modalità di sospensione. Non so se puoi recuperare il valore originale, ma puoi impostarlo su qualsiasi numero. Così, per mettere il computer a dormire dopo 10 minuti, si dovrebbe inviare
puts `c:\\windows\\system32\\powercfg.exe -change -standby-timeout-ac 10`
Così si può disattivare il sonno all'inizio della sceneggiatura e girare il sonno di nuovo in seguito.
Spero che questo sia adatto a te!
fonte
2010-11-08 21:32:25
È inoltre necessario conoscere corrente timeout di sonno per recuperare in modo corretto dopo il programma eseguito. – Nakilon
@Nakilon, è per questo che ho detto che non so se è possibile recuperare l'impostazione corrente. L'OP non ha specificato un requisito su questo fronte. Ciò funzionerebbe per la semplice premessa di impedire il sonno e quindi di consentire il sonno in seguito, in modo che la macchina non venga lasciata accesa per più settimane. –
Inoltre, dal momento che l'OP ha menzionato "settimane prima della mia prossima visita", potrebbe eventualmente controllare manualmente l'impostazione attuale del sonno e quindi regolare il tempo per il 2 ° comando prima di eseguire la sua app (supponendo che non sia compilato in qualche modo). –