{
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;