Einzelnen Beitrag anzeigen

Andreas2k

Registriert seit: 2. Jan 2003
108 Beiträge
 
Delphi XE5 Professional
 
#1

Bildschirmschoner unterdrücken (Win7/8) - mal gehts mal nicht

  Alt 6. Mär 2014, 11:04
Folgendes Problem:
Ich habe eine Anwendung geschrieben wo der Nutzer den Screensaver temporär ab- und dann wieder anschalten kann um kritische Prozesse verfolgen zu können.

Zum abschalten rufe ich SystemParametersInfo wie folgt auf
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0);

zum wieder einschalten
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 1, nil, 0);

Soweit so gut. Leider funktioniert es nur manchmal und nicht immer!

Zum Testen habe ich auf meinem Win7 und Win8.1 Laptop den Bildschirmschoner auf 1 Minute gestellt.

Manchmal funktioniert es und der Bidlschirmschoner bleibt wirklich aus. Versuche ich es ein paar Minuten später noch einmal geht es plötzlich nicht mehr und der Bildschirmschoner geht nach einer Minute dennoch an.

Ich habe bisher nicht herausgefunden warum es mal klappt und dann wieder nicht!

Die Funktion SystemParametersInfo gibt immer einen Bool von -1 zurück - laut Hilfe gilt alles außer 0 als erflgreich (true).


Ach ja. Der Bildschirmschoner ist so eingestellt das beim reaktivieren der Nutzer sein Passwort eingeben muss - daher ist die temporäre deaktivierung des Bildschirmschoners auch so wichtig!



Was also mache ich falsch bzw. wie kann ich den Bildschirmschoner 100% sicher unterdrücken?


-
Andreas

Geändert von Andreas2k ( 6. Mär 2014 um 11:26 Uhr)
  Mit Zitat antworten Zitat