#delphi #delphi-xe
#delphi #delphi-xe
Вопрос:
Я использую Delphi XE Rio в Windows 8.1, моя цель — предотвратить переход системы в спящий режим и выключение монитора.
Я пробовал это, но не получилось.
Я использую это
SystemCritical.IsCritical = true;
try
// do critical operation here
// without going in to sleep or turning off the display
finally
SystemCritical.IsCritical = false;
end;
Мой компьютер просто все еще выключает монитор, а затем переходит в спящий режим.
Комментарии:
1. Просматривая документы, возможно, необходим ES_DISPLAY_REQUIRED?
2. Вы имеете в виду раздел
ES_DISPLAY_REQUIRED = $00000002;
вconst
?3. Я должен был выразиться яснее; я имею в виду вызов SetThreadExecutionState, т. Е., возможно, это должно быть так: SetThreadExecutionState(ES_SYSTEM_REQUIRED или ES_DISPLAY_REQUIRED или ES_CONTINUOUS)
4. Замечательно. Большое вам спасибо. Теперь я знаю, что для остановки выключения монитора требуется отображение. Затем ES_USER_PRESENT информирует систему о присутствии пользователя. Если присутствует пользователь, система будет использовать параметры политики питания, установленные пользователем. В противном случае система не будет пробуждать устройство отображения и вернется в спящее состояние как можно скорее.