HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Telepített alkalmazások listájának lekérdezése programból


Példaprogram letöltése

5600 bájt

Ha szükséges tudnunk programból, hogy milyen alkalmazások lettek már telepítve az adott gépre, akkor ehhez célszerű egy új komponenst készítenünk, melynek segítségével nagyon egyszerű módon képesek leszünk ennek a kérdésnek a megválaszolására.

A mellékelt példaprogram megnyitása előtt az InstalledProgram.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
Mivel a szükséges információ a Windows regisztrációs adatbázisában lett eltárolva, így komponensünknek sincs más tennivalója, mint onnan kiolvasni ezt.
Létrehozunk a komponensbe egy Programs nevű TStringList típusú property-t. Ezen keresztül lehet majd kiolvasni a rendszerbe telepített programok neveit.
Ezt a listát a komponens létrejöttekor, annak konstruktorában töltjük fel.
constructor TInstalledProgram.Create(AOwner: TComponent);
  ...
  reg:=TRegistry.Create;
  list:=TStringList.Create;
  with reg do begin
    RootKey:=HKEY_LOCAL_MACHINE;
A telepített alkalmazások eltávolításukhoz tesznek egy bejegyzést a Software\Microsoft\Windows\CurrentVersion\Uninstall kulcs alá. Ebből megtudható, hogy milyen alkalmazások kerültek a gépre.
    OpenKey('Software\Microsoft\Windows\CurrentVersion\Uninstall', false);
Lekérdezzük az itt található kulcsokat egy listába, majd egy ciklussal végigmegyünk ezen a listán.
    GetKeyNames(list);
    CloseKey;
    for i:=0 to list.Count-1 do begin
A lista minden elemén lévő kulcsot megnyitjuk és onnan a DisplayName értéket kiolvassuk és ezt tároljuk a komponens Programs property-jébe. Ha nem lenne megadva a DisplayName értéke, akkor az adott szoftver kulcsának nevét írjuk be a listánkba.
      OpenKey('Software\Microsoft\Windows\CurrentVersion\Uninstall\'+list[i], false);
      s:=ReadString('DisplayName');
      if s<>'' then begin
        FPrograms.Add(ReadString('DisplayName'));
      end else begin
        FPrograms.Add(list[i]);
      end;
      CloseKey;
    end;
  end;
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


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