HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Windows Feladatkezelőt letiltó komponens készítése


Példaprogram letöltése

4436 bájt

Az NT alapokon nyugvó rendszerek felhasználói számára ismert és használt lehetőség a Windows Feladatkezelő szolgáltatás (Task Manager), melynek segítségével többek között nyomon követhetjük a számítógépen futó processzeket. Mint a Windows sok egyéb funkciója, ez a szolgáltatás is engedélyezhető, illetve letiltható a Rendszerleíró adatbázis megfelelő konfigurációjával. Cikkünkben elkészítünk egy komponenst, melynek logikai változójában engedélyezhetjük, vagy tilthatjuk a szolgáltatás elérését.

A mellékelt példaprogram megnyitása előtt a DisableTaskManager.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component – Install Component menüpontot.
Komponens készítése
Ahogy a bevezetőben említettük, egyetlen bejegyzéssel elérhetjük, hogy Windows XP rendszerünkben a Feladatkezelő ne induljon el. A komponens DisableTaskManager nevű logikai property-jét igazra állítva elérhetjük, hogy a bejegyzés bekerüljön a Rendszerleíró adatbázis HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System kulcsába. A kulcsban el kell helyeznünk ekkor egy bejegyzést DisableTaskMgr néven, 1 értékkel.
A logikai property hamis értékével viszont megadhatjuk, hogy a bejegyzés törlődjön.
Ekkor a CTRL-ALT-DEL billentyűkombináció lenyomásával csak egy figyelmeztető üzenet jelenik meg, mely arról tájékoztat, hogy a rendszergazda letiltotta a funkciót.
A komponens tehát egy property-t tartalmaz, melynek értékét a FDisableTaskManager változóból olvashatjuk ki, és a SetDisableTaskManager metódussal állíthatjuk be.


property DisableTaskManager : boolean read FDisableTaskManager write SetDisableTaskManager;
A metódusban az érték beállítása után meghívjuk a DoProcess metódust, melyben elvégezzük a Rendszerleíró adatbázis olvasását vagy írását.
procedure TDisableTaskManager.SetDisableTaskManager(Value: boolean);
begin
  FDisableTaskManager := Value;
  DoProcess(Value);
end;
A metódus paraméterétől függően hozzuk létre a megfelelő kulcsot, vagy töröljük azt az adatbázisból. Amennyiben a paraméter igaz, vagyis a Feladatkezelőt le kell tiltani, akkor megnyitjuk a HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies főkulcsot, és létrehozzuk a System alkulcsot.
key := TRegistry.Create;
key.RootKey := HKEY_CURRENT_USER;
...
if val then begin   key.CreateKey('Software\Microsoft\Windows\CurrentVersion\Policies\System');
Majd a System alkulcs megnyitása után megadjuk a megfelelő bejegyzést.
  key.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System',false);
  key.WriteInteger('DisableTaskMgr',1);
  key.CloseKey;
  ...
Ha a paraméter értéke FALSE, akkor a System alkulcs törlődik, és a Task Manager elérhetővé válik.
if key.KeyExists('Software\Microsoft\Windows\CurrentVersion\Policies\System') then begin
  key.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Policies\System');
  key.CloseKey;
  ...
Az alkalmazásban elegendő a ComboBox kontrol megfelelő elemét kiválasztani és a művelet elvégezhető.

Cikksorozat

#IDKategóriaCikk címeSorozat
4397Windows.NET Framework konfigurálása az operációs rendszerben1. rész
4446Windows.NET Framework konfigurációs snap-in2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 654. 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!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |