Einzelnen Beitrag anzeigen

Andreas2k

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

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

  Alt 6. Mär 2014, 23:26
Es geht nicht darum irgendwelche Informationen zu sehen sondern vielmehr darum zu reagieren wenn was passiert und da ist es eben sehr unpraktisch wenn man sich erst mal wieder einloggen muss. Außerdem ist es nicht mein Programm was im Vordergrund steht sondern vielmehr andere Prozesse die mein Programm aufruft.

Mein Programm befindet sich i.d.R. ohne sichtbares Fenster in der Systray.


Die Sache mit den Messages habe ich auch schon probiert bevor ich auf SystemParametersInfo gestoßen bin. Leider funktioniert das mit den Messages unter Windows 7 / 8 nicht. Zwar reagiert mein Programm auf die Message SC_SCREENSAVE aber wenn ich die Message behandle geht der Screensaver dennoch an! Ich habe auch mal irgendwo gelesen das man seit Windows Vista den Screensaver nicht mehr per WMSysCommand unterdrücken kann.

Zumindest hat das bei mir nicht funktioniert.

Was ich brauche ist eine Möglichkeit den Screensaver sicher zu unterdrücken wenn ich das brauche ohne das mein Programm/Fenster den Fokus hat(läuft im Hintergrund/Systray), und ohne das irgendwelche Nutzeraktionen simuliert werden(Tastendruck, Mausbewegung etc) was den Nutzer evtl. bei der Arbeit stört. Es sollten keine Änderungen am System vorgenommen werden (Registry etc.) Und es sollte funktionieren auch wenn mein Programm ohne Adminrechte läuft.

Bisher hat es wie gesagt nur mit SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0); funktioniert, aber auch da nicht 100%ig zuverlässig da Screensaver ab und zu dennoch angezeigt wurde obwohl erfolgreich deaktiviert wurde.
Andreas
  Mit Zitat antworten Zitat