Определить, включен ли монитор из режима IE Kiosk

Я разработал веб-приложение для отображения слайд-шоу и хочу отображать его на моем дополнительном мониторе (подключенном через HDMI) в режиме IE Kiosk в Windows 10. Из-за ЦП и других ресурсов на общем сервере я хочу приостановить слайд-шоу, когда монитор выключен. (И поэтому этого никто не видит)

Есть ли способ обнаруживать подключенные дисплеи из Internet Explorer? Поскольку это установка для одного компьютера, надстройки и т. д. принимаются. Запуск событий javascript / jquery был бы идеальным. Спасибо!


person GiantDuck    schedule 24.11.2014    source источник
comment
Я искренне надеюсь, что нет; Я не хочу, чтобы мои браузеры знали что-нибудь о моей машине.   -  person David says reinstate Monica    schedule 25.11.2014
comment
@DavidThomas, я думаю, что веб-сайт уже может обнаружить, что он не на переднем плане.   -  person Ian Ringrose    schedule 25.11.2014
comment
@IanRingrose Да, я могу определить, сфокусирована ли вкладка / окно. Но даже если монитор выключен, это статично.   -  person GiantDuck    schedule 25.11.2014
comment
Почему бы вам не запустить на машине скрипт, который проверяет, выключен ли дисплей, а затем нажимает кнопку паузы в слайд-шоу. Я бы подумал, что это единственный способ сделать это, поскольку с точки зрения безопасности веб-страница не должна знать, какое оборудование подключено к машине, на которой отображается страница.   -  person stackErr    schedule 28.11.2014
comment
@stackErr 1) Как проверить, выключен ли дисплей? 2) Меня устраивают аддоны, activex и т. Д.   -  person GiantDuck    schedule 29.11.2014
comment
возможно, Adobe Flash может обнаружить это, и вы можете создать обратный вызов из flash в javascript, чтобы приостановить слайд-шоу, и вы можете встроить это без видимости. или используйте ajva, но пользователь не может разрешить его выполнение. или silverlight   -  person Erik Kubica    schedule 05.12.2014


Ответы (4)


Нет, нет надежного способа определить, выключен ли второй монитор физически, но все еще подключен через кабель.

Но я должен спросить: зачем вам физически выключать второй монитор?

В качестве альтернативы вы не могли бы:

  • Останавливается ли слайд-шоу по истечении заданного времени, если в него не поступает ввод?
  • Показывать слайд-шоу только в определенное время дня?
  • Принимать события, скажем, от сервера узла, чтобы контролировать, когда показывать и не показывать слайд-шоу?

Сказав, что эти темы могут предоставить вам, хотя и ненадежно, очевидно, то, что вам нужно:

person Calummm    schedule 05.12.2014

Вы не можете сделать это в javascript. Почему бы не попробовать какой-нибудь компонент asp.

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162617%28v=vs.85%29.aspx.

person thunder    schedule 05.12.2014

Вы могли бы потенциально написать программу командной строки, которая находится на определенном порту, постоянно проверяет это локально, а затем использовать HTML5 WebSockets в IE для связи с ним?

то есть C # PowerModeChangedEvent

SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler( SystemEvents_PowerModeChanged );

person Squiggs.    schedule 05.12.2014

Я так не думаю ....

Циклы ЦП приостанавливаются, когда клиентский компьютер переводится в спящий режим. (победа + L)

Пуск> Панель управления> Питание

настраивает поведение монитора (ов), когда клиент выключен или переведен в спящий режим.

объект экрана в js возвращает метические значения (высота / ширина) объекта экрана, но не его состояние включения.

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

возможно, вы не выбрали вариант «Использовать программный рендеринг вместо рендеринга с помощью графического процессора» на вкладке «Расширение» в настройках Интернета ....

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

person Rob Parsons    schedule 25.11.2014
comment
Прежде всего, в прошлый раз, когда я проверил ‹kbd› win ‹/kbd› ‹kbd› l ‹/kbd›, перевел компьютер в заблокированный режим. Не спать. Во-вторых, циклы ЦП, используемые для отображения окна браузера, могут быть минимальными, но OP показывает слайд-шоу в браузере. Вероятно, это означает расшифровку картинки. Что не дружелюбно к процессору. - person Hennes; 25.11.2014