Einzelnen Beitrag anzeigen

ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#18

Re: Ruhezustand blockieren-> Versuch erkennen -> selbs

  Alt 14. Mai 2006, 20:24
Inzwischen bin ich so weit gekommen:
Delphi-Quellcode:
procedure TForm1.WMPowerBroadcast(var Msg: TWMPower);
begin
  showmessage('got message: wmpowerbroadcast');
  if ((msg.msg=PBT_APMQUERYSUSPEND) and (not readyforsuspend)) then
  begin
    showmessage('message is pbt_apmquerysuspend');
    Msg.Result := BROADCAST_QUERY_DENY;
    if messagedlg('denied. suspend?',mtinformation,[mbyes,mbno],0)=mryes then
      suspend(self);
  end else
    showmessage('message is not pbt_apmquerysuspend');
end;

procedure suspend(var form:tform1);
begin
  form.readyforsuspend:=true;
  form.closeallowed:=true;
  form.close;
  setsystempowerstate(true,false);
end;
Aber leider funktioniert das ganze nicht. Wenn ich den Ruhezustand auslöse, erhält er zwar die wmpowerbroadcast, aber erkennt nicht, dass es sich um eine pbt_apmquerysuspend handelt.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat