Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bildschirmabschaltung erkennen (https://www.delphipraxis.net/7391-bildschirmabschaltung-erkennen.html)

rayman 11. Aug 2003 11:22


Bildschirmabschaltung erkennen
 
Hallo,

Mal angenommen, der Bildschirmschoner den ich programmiere, ist ziemlich rechenaufwendig. Wie kann ich herausfinden, ob der Monitor abgeschaltet ist. Ich will ja nicht alles umsonst animieren lassen. Und vielleicht ist das auch besser für den Rechner.

Danke

jbg 11. Aug 2003 12:04

Re: Bildschirmabschaltung erkennen
 
Mit SystemParameterInfo() kannst du über SPI_GETLOWPOWERACTIVE bzw. SPI_GETPOWEROFFACTIVE den Status des Bildschirms abfragen. Win95 funktioniert hierbei nicht.

rayman 11. Aug 2003 12:12

Re: Bildschirmabschaltung erkennen
 
tutmir leid,
versteh ich nicht

chris 11. Aug 2003 12:50

Re: Bildschirmabschaltung erkennen
 
hi,

so z.b. (ungetestet!) :

Delphi-Quellcode:
var stdby: boolean;
begin
 SystemParametersInfo(SPI_GETPOWEROFFACTIVE, 0, @stdby, 0);
 if stdby then showmessage('Monitor ist im Standby-Modus')
end

rayman 11. Aug 2003 13:11

Re: Bildschirmabschaltung erkennen
 
Danke, klappt super.

Jbg hat also nur ein 's' vergessen bei SystemParametersInfo?

iaby 12. Aug 2003 08:11

Re: Bildschirmabschaltung erkennen
 
kennt jemand den befehl, mit dem ich unterbinde, dass der monitor in den power-off zustand wechselt?

gruss,
iaby

Matze 12. Aug 2003 08:18

Re: Bildschirmabschaltung erkennen
 
Hi!
Wenn ich auf den Button klicke, dann kommt die Meldung: "Monitor ist im Standby-Modus", obwohl ich ja gerade am PC arbeite und mein Monitor (TFT) eingeschaltet ist.
Woran liegt das?

Ich habe das von Chris so übernommen:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var stdby: boolean;
begin
SystemParametersInfo(SPI_GETPOWEROFFACTIVE, 0, @stdby, 0);
if stdby then showmessage('Monitor ist im Standby-Modus')
end;
Gruß Matze

alcaeus 12. Aug 2003 08:34

Re: Bildschirmabschaltung erkennen
 
Also, ich hab jetzt mal die Doku für SPI_GETPOWEROFFACTIVE gelesen, und da steht folgendes:
Zitat:

This flag is not supported for 32-bit applications on Windows NT or Windows 95.Windows 95 only: For 16-bit Windows applications, this value determines whether the power-off phase of screen saving is enabled or not. The pvParam parameter must point to a BOOL variable that receives TRUE if enabled, or FALSE if disabled.
Das heißt, dass diese ganze Sache unter 32-bit apps nicht funktioniert. Du könntest aber nach 10 Minuten mit Hilfe von SetSystemPowerState den Rechner in Standby schicken und den Bildschirmschoner abbrechen. Dadurch kannst du sicher sein dass der Bildschirmschoner bei abgeschaltetem Bildschirm läuft. Ist zwar nicht der schönste Weg, müsste aber funktionieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz