Mega Code Archive

 
Categories / Delphi / System
 

Ekran koruyucuyu program icerisinden cagirmak ve ekran koruyucu devreye girdiginde haberdar olmak, c

{ Bazi durumlarda programiniz calisirken ekran koruyucunun devreye girmesini istemeyebilirsiniz ekran koruyucunun islemci kullanimini artirmasindan dolayi. Özellikle kullanicinin islem yapmadigi fakat programin devamli isler yaptigi (Seri Porttan veri transferi vb) durumlarda faydali olabilir. } uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; CheckBox1: TCheckBox; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } procedure WMSysCommand(VAR Msg: TWMSysCommand); message WM_SYSCOMMAND; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} // Ekran koruyucuyu calistir procedure TForm1.Button1Click(Sender: TObject); begin Perform(WM_SYSCOMMAND, SC_SCREENSAVE, 0); end; // Ekran koruyucu devreye girmek uzere procedure TForm1.WMSysCommand(VAR Msg: TWMSysCommand); BEGIN IF (Msg.CmdType AND $FFF0) = SC_SCREENSAVE THEN IF CheckBox1.Checked THEN BEGIN Msg.Result := 0; Label1.Captiion := 'Ekran koruyucunun calismasi durduruldu'; Exit; END ELSE Label1.Captiion := 'Ekran koruyucu calisti'; Inherited; END;