![]() |
So mit Diesem Proggi sollte nur noch deine wirkliche Software gescannt werden:
Delphi-Quellcode:
Ich hoffe bei euch funzt es auch. Ich hatte bisher nur die Möglichkeit das unter Win98 zu Testen.
procedure TForm1.Button1Click(Sender: TObject);
var Reg: TRegIniFile; List: TStringList; I: Integer; S: String; begin Memo1.Lines.Clear; reg := TRegIniFile.Create; List := TStringList.Create; try reg.RootKey := HKEY_LOCAL_MACHINE; if reg.OpenKey('Software\Microsoft\Windows\Currentversion\Uninstall', FALSE) then begin reg.ReadSections(List); for I := 0 to List.Count - 1 do begin S := Reg.ReadString(List[I], 'DisplayName', ''); if S <> '' then Memo1.Lines.Add(S); end; end; finally List.Free; reg.Free; end; end; Wenn Ich jetzt noch die Hardware ausgelesen bekomme dann bin Ich super zufrieden und mein Chef super glücklich! |
Diese Zeile:
Delphi-Quellcode:
hatte bei mir schon einen tieferen Sinn. :roll:
reg := TRegistry.Create(KEY_READ);
Delphi-Quellcode:
Dieser Code öffnet den Schlüssel mit ALL_ACCESS also mit Lese- und Schreibrechten. Unter HKLM auf NT-basierenden Systemen hat aber nicht jeder Schreibrechte in diesem Schlüssel. Bei einem normalen Benutzer dürfte dein Code also keine Ergebnisse liefern. :?
reg := TRegistry.Create;
|
Zwei Fliegen mit einer Klatsche: So ist es!
1. Die Rechtefrage unter NT wird leider sehr oft vernachlässigt. Was passieren kann, hat Luckie ja erwähnt. Wer dazu noch das try/finally/end vergisst, wird mit einer Fehlermeldung belohnt. 2. Windows orientiert sich auch nur am Vorhandensein eines Displaynamens und zeigt nur dann ein Programm an. Ist eine schöne Methode, bestimmte Programme zu verstecken, damit man sie nicht versehentlich deinstalliert. Das war übrigens die Intention für mein Programm. :) < ------ > @Trouble_Maker: Das sind GUIDs von MSI-Installation. Aus dem Grund liest man ja auch den Displaynamen oder den "QuietDisplayname" aus, da er den Namen der Software im Klartext enthält. |
Re: Wie lese Ich Hard- und Software aus?
Und wie liest man einzelne "Dinge" (weiß et wie ichs ausdrücken soll) aus den Schlüsseln aus? :?:
Da in den Schlüsseln immer der Eintrag 'UninstallString' vorhanden ist, welcher die UnInstall-EXE beinhaltet, möchte ich diesen auch auslesen lassen. :spin: Dödel |
Re: Wie lese Ich Hard- und Software aus?
Moin Dödel,
Zitat:
Zitat:
|
Re: Wie lese Ich Hard- und Software aus?
THX. Ich sollte mir den Code VORM kopieren mal genauer anschauen *schäm*
:oops: Dödel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz