Einzelnen Beitrag anzeigen

ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Bildschirmschoner unterdrücken (Win7/8) - mal gehts mal nicht

  Alt 6. Mär 2014, 13:43
Etwas professioneller und - hoffentlich - auch zuverlässiger sollte es so gehen:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  {...}
  private
    procedure AppMessage(var msg: TMsg; var handled: boolean);
  {...}
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := AppMessage;
end;

procedure TForm1.AppMessage(var msg: TMsg; var handled: boolean);
begin
  if (msg.message = WM_SYSCOMMAND) and (msg.wparam = SC_SCREENSAVE) then
    handled := true;
end;
Falls die Inaktivierung des Screensavers nicht während der gesamten Laufzeit des eigenen Programms ausgelöst sein soll, sondern nur sporadisch über bestimmte Abläufe innerhalb des Programms, dann kann diese Feinsteuerung mittels einer zusätzlich eingeführten Variablen gesteuert werden. Die muss dann in der Methode AppMessage() ergänzend abgefragt werden, um den dortigen Parameter 'handled' entsprechend zu belegen.
  Mit Zitat antworten Zitat