Update hierzu:
Ich habe mir nun eine DummyApp gemacht die einfach die WM_POWERBROADCAST überwacht.
Wenn diese eine Nachricht bekommt schickt sie diese per SendMessage weiter zu einem Client.
Der Client erzeugt mit:
Delphi-Quellcode:
protected
procedure WndMethod(var Msg: TMessage); virtual;
fHWnd := AllocateHWnd(WndMethod);
ein Fenster un schickt der DummyApp das THandle fHWnd.
Nun das Ergebnis:
DummyApp:
Code:
19:58:31 Client: Add 263828 to list
19:59:16 WMPowerBroadcast: WM_POWERBROADCAST message, WParm: 4
19:59:16 WMPowerBroadcast: try to send message to client 1: 263828
20:01:41 WMPowerBroadcast: WM_POWERBROADCAST message, WParm: 18
20:01:41 WMPowerBroadcast: try to send message to client 1: 263828
20:01:41 WMPowerBroadcast: WM_POWERBROADCAST message, WParm: 7
20:01:41 WMPowerBroadcast: try to send message to client 1: 263828
Client:
Code:
20:01:41 WndMethod: PowerMessage received: WParam: 4
20:01:41 WndMethod: PBT_APMSUSPEND
20:01:41 WndMethod: PowerMessage received: WParam: 18
20:01:41 WndMethod: PBT_APMRESUMEAUTOMATIC
20:01:41 WndMethod: PowerMessage received: WParam: 7
20:01:41 WndMethod: PBT_APMRESUMEAUTOMATIC
Na? Fällt es jemanden auf?
Die Meldung PBT_APMSUSPEND wurde um 19:59:16 empfangen und sofort weitergeschickt.
Jedoch ist sie beim Client erst um 20:01:41 angekommen.
Also nachdem der PC wieder aus dem Standby zurück gekommen ist.
Habe es auch schon mit PostMessage versucht, aber da ist es genau so!
Hilfe!!