Einen aktiven Bildschirmschoner programmatisch unterbrechen?

8

GRUND: Ich arbeite an einer Notfallwarnanwendung, die Informationen auf einem Desktop anzeigen muss. Wenn der Client eine Warnung erhält, öffnet sich ein Fenster. Wenn ein Bildschirmschoner aktiv ist oder sich der Monitor im Standby-Modus befindet, ist die Warnung nicht sichtbar. Ich frage mich, ob es möglich ist, den Computer durch eine Art von programmatischen Mausbewegung oder Systemaufruf aufzuwecken, so dass die Warnung sichtbar wäre. Ich denke, der Grund, warum eine Mausbewegung oder ein Tastendruck sie aufweckt, liegt an einem Hardware-Interrupt, so dass dies möglicherweise nicht möglich ist.

Derzeit wird das Projekt in C # implementiert. Ich interessiere mich für Lösungen für Windows, MAC und Linux.

Dies ist eine Kundenanfrage. Ich habe Folgendes berücksichtigt:

  • Auf den meisten Computern muss sich der Benutzer nach der Inaktivität anmelden. Diese Computer erhalten keine Warnung
  • Es besteht eine gute Chance, dass, wenn ein Bildschirmschoner aktiv ist, sowieso niemand am Computer ist.

Ich versuche NICHT:

  • Verhindern Sie, dass ein Bildschirmschoner oder Energiesparmodus zusammen aktiviert wird.
blak3r 14.05.2009, 15:45
quelle

2 Antworten

4

Aufbauend auf dem, was fbonnet gesagt hat, um die im kb Artikel in C # gezeigten Funktionen zu nutzen, pinvoke.net Website ist eine großartige Ressource. Sie haben auch einen Artikel über die Funktion PostMessage hier .

Der einfachste Weg also, Ihren Code zum Laufen zu bringen, könnte die Suche nach den Funktionen sein, die im kb Artikel auf pinvoke.net Website. Oder Sie können diesen Artikel lesen, der dies für Sie getan hat.

    
EKS 14.05.2009, 16:23
quelle
3
fbonnet 14.05.2009 15:56
quelle