Entwickler-Ecke

Windows API - Merken das Windows aus dem Ruhezustand aufgeweckt wurde


masterchris_99 - Do 19.01.06 02:06
Titel: Merken das Windows aus dem Ruhezustand aufgeweckt wurde
Moin,

Also ich probiere jetzt seit Stunden mit dem Message Handle aus zu merken das der PC wieder aufgeweckt wurde. Ich wäre wirklich sehr froh wenn mir einer ne komplette Funktion geben könnte die bescheid gibt wenn der PC aufgeweckt wurde. Ich habe echt 0 Schimmer von dem ganzen MP-Powerbroadcast oder wie das heisst und komme echt nicht weiter.

mFg CHris


masterchris_99 - Mi 01.02.06 02:49

so mal wieder nach oben schieben


Amiga-Fan - Sa 19.04.08 04:53

hat vielleicht heute jemand eine Lösung dazu? Ich bräuchte eine Lösung für Delphi 7 Prof.
Eigentlich bin ich der Meinung, das die Delphi-Funktionen so einen Fehler gar nicht erst auftreten lassen sollten...


Amiga-Fan - Sa 19.04.08 05:27

ich habs:

http://www.delphipraxis.net/topic97388_hibernate+und+standby+erkennen.html&highlight=standby

allerdings ist dort ein Fehler drin.

procedure WndProc(var MyMessage: TMessage); override;

muß durch

procedure WndProc(var MyMessage: TMessage); message WM_POWERBROADCAST;

ersetzt werden, ansonsten funktioniert es nicht.


jaenicke - Sa 19.04.08 11:06

Das was du ersetzt hast macht etwas anderes als das Original mit override ;-).
Mit

Delphi-Quelltext
1:
procedure WndProc(var MyMessage: TMessage); override;                    
fängst du alle Nachrichten ab und musst darin nachschauen welche es ist, während du mit

Delphi-Quelltext
1:
procedure WndProc(var MyMessage: TMessage); message WM_POWERBROADCAST;                    
explizit nur auf die eine Botschaft reagierst. Im letzteren Fall benennt man die Prozedur normalerweise auch ähnlich wie die Nachricht, die du abfangen willst. jedenfalls sollte die nicht WndProc heißen.


Amiga-Fan - Sa 19.04.08 15:44

achso. Naja, bei mir gab es mit ersterem immer eine Exception, sobald die Anwendung aus der IDE startete.... weißt du vielleicht, wie die Message heißt, die Windows versendet sobald sich ein User einloggt? Also nicht das erste Einloggen, sondern ich habe mein Windows so eingestellt, das nach einer gewissen inaktiven Zeit automatisch der Anmeldebildschirm kommt...