Einzelnen Beitrag anzeigen

news2swen

Registriert seit: 7. Nov 2008
36 Beiträge
 
Delphi XE4 Enterprise
 
#11

AW: Bildschirmsperre verhindern?

  Alt 8. Mai 2017, 15:08
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
if (msg.wparam = SC_SCREENSAVE) then
    begin
       Msg.wParam := 0;
        SendMessage (0, WM_SYSCOMMAND, SC_SCREENSAVE, -1) ;
        Panel1.Color:= clRed; //nur Anzeige, dass Routine durchlaufen wird
        Handled := true;
    end;
end;
in die Routine wird hineingesprungen, allerdings geht die Sperre trotzdem rein. Ich seh das Ergebnis (in deinem Fall das rote LPanel) aber erst nach dem Entsperren.


Zitat:
Oder so:
Delphi-Quellcode:
  private
    { Private-Deklarationen }
    procedure WMSysCommand(var Msg: TMessage); message WM_SYSCOMMAND;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSysCommand(var Msg: TMessage);
begin
Panel1.Color:= clRed; //nur Anzeige, dass Routine durchlaufen wird
  if Msg.wParam = SC_SCREENSAVE then
    Msg.Result := 1
  else
    inherited;
end;
Das hatte ich auch probiert, aber aus mir unerfindlichen Gründen wird nicht in die Prozedure gesprungen. Keine Ahnung warum das so ist.


Ich suche jetzt mal nach PowerCreateRequest, hoffentlich funktionierts damit. Danke
Swen
  Mit Zitat antworten Zitat