Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

  • Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Delphi Ekran Koruyucu Yapımı

ByOnur58

MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,114
  • MFC Puanı
    10
Ekran koruyuculari normal bir program gibi yazilir. Derlenirken uzantisi SCR olarak kayit edilir. Windows ekran koruyucuyu çalistirirken bazi özel komut satiri parametreleri kullanir.
* Alt + Tab ve Ctrl+Alt+Del Tuslarini önleyecek olan kod satiri :
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,0,0) ; * Baslat Çubugunu gizleme
ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_HIDE ); * Fare' nin gizlenmesi
ShowCursor(false); * Fare ve Klavyeden bir olay yapildiginda ekran koruyucuyu sonlandirma
if ((ox=0) and (oy=0)) or ((Abs(ox-x)<5) And (Abs(oy-y)<5)) Then * Formun tam ekran haline getirilmesi
Object Inspector' den WindowState / wsMaximized yapilir.* Ekran koruyucu uygulamasi SCR olarak kaydedilmesi
Project / Options / Application

Target file extersesion SCR yapilir ve OK dügmesine tiklanir.ÖRNEK: Bir ekran koruyucu.
KODU:

Kod:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,0,0);
ShowCursor(true);
ShowWindow(FindWindow('Shell_TrayWnd',nil),SW_show);//baslati göster
end; 
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((ssAlt in Shift) and (Key = VK_F4)) then Key := 0;
if ((ssAlt in Shift) and (Key = VK_TAB)) then Key := 0;
end;
{$J+}
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
const ox:integer=0; oy:integer=0;
begin
if ((ox=0) and (oy=0)) or ((Abs(ox-x)<5) And (Abs(oy-y)<5)) Then
begin
ox:=x;
oy:=y;
ShowCursor(false);
end else 
begin
ShowCursor(true);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
image1.Left:=random(400);
image1.top:=random(500);
end;
 
Üst Alt