Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
9. Dez 2009
Da ich das Problem noch immer nicht gelößt habe mus ich hier nocheinmal nachfragen!
Ich erzeuge nun so ein Window das auch WM_POWERBROADCAST Messages erhält:
hWindowParent := FindWindow('Shell_TrayWnd',nil);
if hWindowParent <> 0 then
begin
//create window for powerbroadcasts:
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
21. Nov 2009
Danke!
Habe es einmal so versucht:
procedure RegisterPowerSettingNotification(hRecipient : hwnd; PowerSettingGuid: PGuid; Flags: byte);stdcall;external 'user32.dll';
Procedure RegisterForPowerNotifications(hwnd: hwnd);
Const
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
21. Nov 2009
Ich versuche gerade noch das ganze über eine Callback zu machen.
Hab aber so meine Probleme damit!
DummyApp:
type
TPowerMessageCallback = procedure (WParam:Cardinal);
procedure TSendMessageThread.Execute;
var
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
20. Nov 2009
Kann es noch daran liegen, dass ich in der Procedure (die in der DummyApp) die WM_POWERBROADCAST Message erhält auch das Sendmessage ausführe?
Währe es besser Sendmessage erst nach einem kurzen Delay auszuführen?
Also die DummyApp Message Procedure durchlaufen lassen und z.B. Timer mit z.B. 100ms starten.
Wenn der Timer auslößt dann erst die Sendmessage zum Client.
Weiß aber nicht wie ich...
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
20. Nov 2009
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:
protected
procedure WndMethod(var Msg: TMessage); virtual;
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
1. Nov 2009
Das mit AllocateHwnd habe ich schon ausprobiert. Doch auch da kommt die "ich gehe in Standby" Message auch nicht an.
Werde es einmal mit einen eigenen Thread versuchen.
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
31. Okt 2009
Leider habe ich auf die Software die mein Plugin ladet keinen Einfluß.
Daher frage ich ob es da einen Weg herum gibt?
Vielleicht eigenen eigenen unabhängigen Thread erzeugen?
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
31. Okt 2009
Leider aber nicht wenn das Programm das die Nachricht benötigt ein Plugin ist!
Wenn nun das Hauptprogramm den Standby auslöst bekommt das Plugin keine Meldung da es zu dem Programm-Thread/Window gehört.
So bin ich ja drauf gekommen das da was anders ist.
Wie könnte das dann bei einem Plugin gelöst werden?
Forum: Win32/Win64 API (native code)
Delphi
by schwa226,
31. Okt 2009
Hallo,
ich habe da ein Frage zu Windows 7 RTM & Delphi 2009.
Und zwar habe ich zum Test ein kleines Programm anghängt.
Dieses Programm loggt die WM_POWERBROADCAST Messages.
Nun zu dem Pänomen:
Starte ich die "Standby_Test.exe" zwei mal und drücke bei einem auf den Button fährt das System in den Standby.
Wenn der PC wieder zurück kommt zeigt sich folgendes: