1

У меня 16-ти мониторная стена. Все они 42-дюймовые ЖК-телевизоры. Все они запускаются с одного компьютера. Все они работают в Powerpoint и имеют одинаковую схему / дизайн, но информация о PowerPoint отличается от каждой. Я хочу, чтобы заставка включалась после того, как не было обнаружено ввода пользователя по истечении заданного времени. У меня есть программа, которую я запрограммировал для включения пользовательской заставки, запускаемой на определенное время, а затем выключения.

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

Есть ли способ отключить функцию ES_DISPLAY_REQUIRED из реестра для всего компьютера. Или, возможно, способ прочитать функцию тайм-аута заставки и сделать этот вызов в программе, которую я сделал для запуска.Ака, несмотря на то, что ES_DISPLAY_REQUIRED препятствует запуску заставки, обратный отсчет времени до заставки по-прежнему запускается, и моя программа запускается, когда она отсчитывает до нуля.

Причина, по которой я хочу это сделать, заключается в том, что, хотя все они являются жидкокристаллическими телевизорами, я хочу предотвратить их перегрев на мониторах, все они выключаются ночью и работают только по 12 часов в день, но я скорее буду осторожен, чем рисковать повредить очень дорогой телевизор. Это их стороннее программное обеспечение, которое делает это? Специально для мультимониторного приложения.

Также в качестве примечания я использую 3 видеокарты AMD FirePro W600 и программное обеспечение Display Fusion для дополнительных функций поддержки.

1 ответ1

0

не полный ответ, но вы можете программно управлять состоянием выполнения ES_DISPLAY_REQUIRED с помощью SetThreadExecutionState() .

Больше информации от MS: функция SetThreadExecutionState

Пример:

// Television recording is beginning. Enable away mode and prevent
// the sleep idle time-out.
//
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED);

//
// Wait until recording is complete...
//

//
// Clear EXECUTION_STATE flags to disable away mode and allow the system to idle to sleep normally.
//
SetThreadExecutionState(ES_CONTINUOUS);

Связанная информация о StackOverflow: https://stackoverflow.com/questions/4964302/programmatics-reset-windows-xp-idle-time

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .