Po default-u, svaka Windows (Delphi) aplikacija koju pokrenete ima odgovarajuće dugme na TaskBar-u. Korišćenjem prečice „Alt+Tab“, moguće je da prelazite iz prozora jedne aplikacije u prozor druge. Ako pritisnete kombinaciju „Ctrl+Alt+Delete“, pojaviće se dijalog prozor „Close Program“, koji služi za okončavanje programa (End task) ili za „spuštanje“ Windows-a.
Da li ste se ikada zapitali kako da vaša aplikacija bude „nevidljiva“ za dijalog „Close Program“ (gde su izlistani svi aktivni procesi)? Pretpostavimo na primer, da želite da kreirate neki uslužni program koji će raditi u pozadini, tako da ga korisnik i ne primećuje. Za ovako nešto postoje različiti načini, pa ćemo u okviru ovog priloga navesti jedan od brojnih.
Sledećim kodom videćemo kako da iskoristimo snagu Windows API-ja, radi dodavanja specijalnih osobina vašem programu. Koristeći API funkciju SystemParametersInfo, „prevarićemo“ Windows, tako da „misli“ za naš program da je screen saver. Preko ove funkcije onemogućićemo poziv dijaloga „Close Program“ kombinacijom „Ctrl+Alt+Delete“, i prebacivanje u druge aplikacije kombinacijom „Alt+Tab“. Za primer, postavićemo na praznu formu dva komandna dugmeta (kao na slici) i u njih ćemo ubaciti kod koji poziva API funkciju. Za prvo dugme kod će biti:
procedure TForm1.Button1Click(Sender: TObject);
var
OldVal : LongInt;
begin
SystemParametersInfo
(SPI_SCREENSAVERRUNNING,
Word(True),
@OldVal,
0);
end;
A za drugo dugme, ubacite sledeći kod:
procedure TForm1.Button2Click(Sender: TObject);
var
OldVal : LongInt;
begin
SystemParametersInfo
(SPI_SCREENSAVERRUNNING,
Word(False),
@OldVal,
0);
end;
Pratite Krstaricu na www.krstarica.com