Предотвращение сна 10 для сна только для следующего закрытия крышки

470
Silver Duck

Иногда я позволяю своему компьютеру (ноутбук Lenovo под Windows 10) делать то, что требует времени (например, научные вычисления). Когда он это сделает, я бы хотел закрыть крышку, чтобы она не заснула.

Проблема в том, что я также хотел бы сохранить его поведение по умолчанию, когда он закрывается, когда я его закрываю, большую часть времени.

Я бы хотел, чтобы это сработало: если я ничего не сделаю и не закрою крышку, он заснет. Если я нажму какую-нибудь произвольную комбинацию клавиш, она будет игнорироваться в следующий раз, когда я закрою крышку, и буду бодрствовать, пока не открою ее снова.

В идеале, это поведение будет таким же подключен или нет. Я знаю, что могу изменить это в «управлении питанием», но я делаю это часто, и было бы неплохо иметь ярлык для этого.

Кто-нибудь может придумать, как это сделать, или какой-нибудь трюк, чтобы подражать такого рода поведению?

Заранее спасибо.

1

1 ответ на вопрос

0
harrymc

Чтобы компьютер не спал, вы можете использовать такую ​​программу, как Caffeine или Insomnia .

Кроме того, вы можете отключить режим сна при закрытой крышке и включить его позже. Если делать это вручную слишком обременительно, вы можете сделать это с помощью команды, которую вы можете поместить в командный файл, хранящийся на рабочем столе.

См. Скрипт переключения, чтобы отключить и восстановить действие закрытия крышки в том, что было раньше, в этом ответе (но другие ответы также могут быть уместны).

Вот немного измененная версия скрипта:

@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% 
Это именно то, что мне было нужно, большое спасибо! Я, вероятно, собираюсь выяснить легко, но кто-нибудь знает способ выполнить командный файл с помощью настраиваемого глобального ярлыка? Silver Duck 5 лет назад 0
Что вы подразумеваете под "пользовательским глобальным ярлыком"? harrymc 5 лет назад 0
Я имею в виду нестандартное сочетание клавиш, которое я могу нажать в любое время, чтобы запустить скрипт, не нажимая на командный файл. Silver Duck 5 лет назад 0
[AutoHotkey] (https://autohotkey.com/) - ваш друг. Смотрите также [этот пост] (https://stackoverflow.com/questions/2035193/how-to-run-a-powershell-script). harrymc 5 лет назад 0