2014-11-24 19 views
7

Ho sviluppato un'app Web per visualizzare una presentazione e desidero visualizzarla sul mio monitor secondario (Connesso tramite HDMI) con la modalità Kiosk di IE su Windows 10. A causa della CPU e altro risorse sul server condiviso, voglio mettere in pausa la presentazione quando il monitor è spento. (E quindi nessuno lo vede)Rileva se il monitor è acceso dalla modalità IE Kiosk

C'è un modo per rilevare i display collegati da Internet Explorer? Poiché si tratta di un'impostazione del kiosk a un pc, sono accettati componenti aggiuntivi, ecc. Triggerare eventi javascript/jquery sarebbe l'ideale. Grazie!

+2

sarei veramente non la speranza; Non voglio che i miei browser sappiano * qualsiasi * della mia macchina. –

+0

@DavidThomas, io ** penso ** un sito Web può già rilevare che non è in primo piano. –

+1

@IanRingrose Sì, posso rilevare se la scheda/finestra è a fuoco. Ma anche se il monitor è spento, questo è statico. – GiantDuck

risposta

-2

Io non la penso così ....

cicli di CPU sono in pausa quando il computer client viene messo in modalità di sospensione. (Win + L)

Start> Pannello di controllo> Potenza

configura come il monitor (s) si comportano quando il client è spento o messo in modalità sleep.

l'oggetto schermo in js restituisce i valori metrici (altezza/larghezza) dell'oggetto schermo ma non il suo stato di alimentazione.

l'impatto dei cicli di CPU sprecati su un monitor secondario spento dovrebbe essere un-notevole ....

probabilmente non avete selezionato l'opzione "Usa rendering software invece di rendering GPU" nella scheda Advance di opzioni internet ....

Si noterà che la CPU sul desktop si accelera e la ventola di raffreddamento funzionerà se non è stata impostata l'impostazione sopra quando si eseguono pagine Web o script di grafica intensiva.

+0

Prima di tutto, l'ultima volta che ho controllato vincerel mettere il computer in modalità bloccata. Non dormire. In secondo luogo, i cicli della CPU utilizzati per mostrare una finestra del browser potrebbero essere minimi, ma l'OP mostra una presentazione nel browser. Questo probabilmente significa decodificare le immagini. Quale non è compatibile con la CPU. – Hennes

0

No, non esiste un modo affidabile per rilevare se un secondo monitor è fisicamente spento ma ancora collegato tramite il cavo.

Devo chiedere però: perché è necessario spegnere fisicamente il secondo monitor?

In alternativa potrebbe non:

  • Avere la fermata presentazione dopo una durata a tempo a meno che non riceve un input?
  • Lo slideshow è visibile solo in determinati momenti della giornata?
  • Accettare eventi da, ad esempio, un server nodo per controllare quando visualizzare e non mostrare la presentazione?

Detto che queste discussioni potrebbero condizione che, anche se inaffidabile quanto pare, quello che vi serve:

0

Si potrebbe scrivere un programma a riga di comando che si trova su una particolare porta, controlla continuamente per quella a livello locale e quindi utilizzare WebSockets HTML5 in IE per comunicare con esso?

cioè C# PowerModeChangedEvent

SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler( SystemEvents_PowerModeChanged );