Я нашел свое решение по этому ОЧЕНЬ полезному ответу пользователя @jnL (пожалуйста, добавьте его комментарий!). Он работает на моем win7 HP lappy и заставляет его "спать" так же, как если бы я выбрал Sleep
в графическом интерфейсе Windows Start Menu, т.е.
Keeps your session in memory and puts the computer in a low-power state so that you can quickly resume working.
Теперь, когда я добавил этот сценарий в свой профиль PowerShell C: \ Users \ имя_пользователя \ Documents \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1
function sleepy_time { Add-Type -AssemblyName System.Windows.Forms $PowerState = [System.Windows.Forms.PowerState]::Suspend; $Force = $false; $DisableWake = $false; [System.Windows.Forms.Application]::SetSuspendState($PowerState, $Force, $DisableWake); } new-alias -name nap -value sleepy_time
... когда я nap
захожу по приглашению PowerShell, мой ноутбук переходит в спящий режим, вентилятор вращается, а затем, когда я двигаю мышь или нажимаю пробел (и т. д.), он выходит на экран входа в систему.
Обратите внимание, что решение rundll32.exe очевидно повреждает стек, согласно комментарию в этой теме от пользователя @accolade, ссылающегося на этот ответ: https://superuser.com/a/331545/21887