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