|
|
Számítógép üresjárati idejének figyelése
|
|
Példaprogram letöltése
9782 bájt
|
A mellékelt példában azt valósítjuk meg, hogy programból figyeljük, hogy a felhasználó végez-e érdemi munkát a számítógéppel, vagy hozzá se nyúl. Ha az utóbbi eset áll fenn, akkor programunk egy jelszó bekérő ablakot jelenít meg és a jelszó megadásáig nem ad lehetőséget a további használatra. Mivel felhasználói aktivitás már jó ideje nem történt, így feltételezhetjük, hogy a felhasználónk akár már nem is ül a gép előtt, ekkor viszont ajánlatos lehet némi védelem bizonyos esetekben.
A feladat megoldásához a rendszer képernyővédőjét, vagyis a WM_SYSCOMMAND eseményt használjuk fel. A példa persze feltételezi, hogy a képernyővédő aktív a gépen és egy adott idő után elindul, ha nincs aktivitás.
procedure WMSysCommand(var Msg:TMessage); message WM_SYSCOMMAND;
Ha az Msg paraméter lParam mezőjének értéke SC_SCREENSAVE, akkor ez azt jelenti, hogy a képernyővédő alkalmazás elindult. Ebben az esetben nincs más dolgunk, mint megjeleníteni a jelszót kérdező dialógus ablakunkat, és várni, amíg meg nem adják újra a belépéshez szükséges jelszót. Fontos, hogy mielőtt a dialógus ablakot ShowModal-al megjelenítenénk, adjuk ki az inherited utasítást, különben a képernyővédő nem indul el, csak miután az eljárás befejeződött!
procedure TForm1.WMSysCommand;
begin
inherited;
if Msg.wParam=SC_SCREENSAVE then Form2.ShowModal;
end;
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2001 évkönyv 294. oldal
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|