Иногда я позволяю своему компьютеру (ноутбуку Lenovo под управлением Windows 10) делать что-то, что занимает некоторое время (например, научные вычисления). Когда он это делает, я хотел бы иметь возможность закрыть его крышку, не переходя в спящий режим.
Проблема в том, что я также хотел бы сохранить его поведение по умолчанию, когда он переходит в спящий режим, когда я его закрываю, большую часть времени.
Я бы хотел, чтобы это работало так: если я ничего не делаю и закрываю крышку, он засыпает. Но если я нажму произвольную комбинацию клавиш, он проигнорирует следующее закрытие крышки и будет бодрствовать, пока я не открою ее снова.
В идеале это поведение было бы одинаковым, подключено или нет. Я знаю, что могу изменить это в разделе «управление питанием», но я часто так делаю, и было бы неплохо иметь для этого ярлык.
Может ли кто-нибудь придумать способ сделать это или какой-нибудь трюк, чтобы имитировать такое поведение?
Заранее спасибо.
решение1
Чтобы предотвратить переход компьютера в спящий режим, можно использовать такую программу, как Кофеин или Бессонница.
В качестве альтернативы вы можете отключить спящий режим при закрытии крышки и включить его позже. Если делать это вручную слишком обременительно, вы можете сделать это с помощью команды, которую вы можете поместить в пакетный файл, сохраненный на рабочем столе.
См. скрипт переключения для отключения и восстановления действия закрытия крышки в том виде, в котором оно было раньше, в этот ответ (но другие ответы также могут быть уместны).
Вот слегка измененная версия скрипта:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims=:(" %%i in ('powercfg /GETACTIVESCHEME') do set ACTIVESCHEME=%%i
for /f "tokens=2 delims=:(" %%i in ('powercfg -q %ACTIVESCHEME% SUB_BUTTONS LIDACTION ^| findstr "[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*"') do set FULLPATH=!FULLPATH! %%i
for /f "tokens=2 delims=:(" %%i in ('powercfg /q %FULLPATH% ^| findstr "[0-9]x[0-9]*"') do (
set CURRENTSETTINGAC=!CURRENTSETTINGDC!
set CURRENTSETTINGDC=%%i
)
set CURRENTSETTINGAC=%CURRENTSETTINGAC:~-1%
set CURRENTSETTINGDC=%CURRENTSETTINGDC:~-1%
powercfg -SETACVALUEINDEX %FULLPATH% 0
powercfg -SETDCVALUEINDEX %FULLPATH% 0
powercfg /s %ACTIVESCHEME%
pause Waiting to re-enable sleep on lid close ...
powercfg -SETACVALUEINDEX %FULLPATH% %CURRENTSETTINGAC%
powercfg -SETDCVALUEINDEX %FULLPATH% %CURRENTSETTINGDC%
powercfg /s %ACTIVESCHEME%