2009-05-14 5 views
8

RAGIONE: Sto lavorando a un'applicazione di avviso di emergenza che deve visualizzare le informazioni su un desktop. Quando il client riceve un avviso, viene visualizzata una finestra. Se uno screensaver è attivo o il monitor è in standby, l'avviso non sarà visibile. Mi chiedo se sia possibile riattivare il computer tramite una sorta di spostamento del mouse programmatico o chiamata di sistema in modo che l'avviso sia visibile. Penso che il motivo per cui un mouse si muove o che il keypress lo riattiva è a causa di un interrupt hardware, quindi potrebbe non essere possibile.Interrompe uno screensaver attivo programmaticamente?

Attualmente il progetto è in fase di implementazione in C#. Sono interessato a conoscere le soluzioni per Windows, MAC e Linux.

Questa è una richiesta del cliente. Ho considerato quanto segue:

  • Sulla maggior parte dei computer dopo l'inattività, l'utente deve accedere. Quei computer non riceveranno l'avviso
  • C'è una buona probabilità che se uno screensaver è attivo, quindi nessuno è al computer comunque.

Io non sto cercando di:

  • Impedire una modalità di risparmio energetico screensaver o per essere attivato tutti insieme.

risposta

4

Basandosi su quello che ha detto fbonnet, per utilizzare le funzioni indicate nella kb articolo in C# il sito pinvoke.net è una grande risorsa. Hanno anche un articolo sulla funzione PostMessagehere.

Quindi il modo di base per far funzionare il codice potrebbe essere la ricerca delle funzioni elencate nell'articolo kb sul sito pinvoke.net. Oppure puoi leggere this article ha fatto questo per te.