Windows-эквивалент кофеината OS X

Windows-эквивалент кофеината OS X

Есть ли эквивалент этой caffeinateутилиты для Windows на OS X? Я хочу иметь довольно агрессивные настройки выхода в целом, но иметь специальную программу, которая предотвращает выход во время работы, как способ переопределения этой настройки.

Утилита caffeinateпредотвращает выход из системы, пока она активна, что приятно. caffeinate— это программа на языке C, распространяемая Apple. Исходный код для нее —здесь.

Я нашел скрипт Powershell, который примерно эквивалентен этомуздесьи использовали его тривиальную модификацию, показанную ниже.

param($minutes = 36000)

$myshell = New-Object -com "Wscript.Shell"

for ($i = 0; $i -lt $minutes; $i++) {
  Start-Sleep -Seconds 60
  $myshell.sendkeys(".")
}

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

Это значит, что вам придется быть бдительным при наборе текста, иначе .раз в минуту будут появляться случайные символы, что далеко от идеала.

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

решение1

У Windows PowerToys есть приложение под названием Awake. Есть как GUI, так и CLI-опция.

PowerToys Awake не изменяет никаких настроек плана электропитания Windows и не зависит от конфигурации пользовательского плана электропитания. Вместо этого он порождает фоновые потоки, которые сообщают Windows, что им требуется определенное состояние машины.

PowerToys Awake — это утилита для Windows, разработанная для поддержания компьютера в состоянии бодрствования без необходимости управления его параметрами питания и сна. Такое поведение может быть полезным при выполнении длительных задач, гарантируя, что компьютер не перейдет в спящий режим или не выключит экраны.

Связанный контент