Я нашел свое решение из этого ОЧЕНЬ полезного ответа пользователя @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