![]() |
Installierte Dateitypen im ListView auflisten
Hallo,
ich habe mal eine Procedurte geschrieben mit der man die Installierten Dateitypen in einem Dreispatligen TListView auflisten kann. Diese angaben werden aufgelistet: :arrow: 1.Spalte: Dateierweiterung :arrow: 2.Spalte: Beschreibung :arrow: 3.Spalte: Öffnen mit Ich weiss zwar nicht wofür man das brauchen kann :gruebel: . Ist aber mal ganz insteressant :-D Aber hier erstmal die Prozedur: (Die Anwendung steht ganz unten)
Delphi-Quellcode:
und so wendet man sie an:
uses {...}, Registry;
{...} procedure WriteExtList(const ExtList: TListView); var R1, R2: TRegistry; S: string; Exts, Exts2: TStringList; i: integer; LI: TListItem; NSK: string; EXT, Descripe, OpenWith: string; begin if not Assigned(ExtList) then Exit; ExtList.Clear; R1 := TRegistry.Create; R2 := TRegistry.Create; Exts := TStringList.Create; Exts2 := TStringList.Create; try R2.RootKey:=HKEY_LOCAL_MACHINE; R1.Access:=KEY_READ; R1.RootKey:=HKEY_LOCAL_MACHINE; R1.OpenKey('Software\Classes',False); R1.GetKeyNames(Exts); R1.CloseKey; for i:=0 to Exts.Count-1 do begin S:=Exts.Strings[i]; if (s[1] in ['.']) then Exts2.Add(s); end; for i:=0 to Exts2.Count-1 do begin R2.OpenKey('Software\Classes\'+Exts2.Strings[i],False); EXT:=EXTS2.Strings[i]; NSK:=R2.ReadString(''); R2.CloseKey; R2.OpenKey('Software\Classes\'+NSK,False); Descripe:=R2.ReadString(''); R2.CloseKey; R2.OpenKey('Software\Classes\'+NSK+'\shell\open\command\',False); OpenWith:=R2.ReadString(''); with ExtList do begin LI:=Items.Add; LI.Caption:=EXT; LI.SubItems.Add(Descripe); LI.SubItems.Add(OpenWith); end; R2.CloseKey; end; finally R1.Free; R2.Free; Exts.Free; Exts2.Free; end; end;
Delphi-Quellcode:
Edit1: Code optimierung
procedure TForm1.Button1Click(Sender: TObject);
begin WriteExtList(ListView1); end; [edit=Chakotay1308]Code-Style angepasst und Ressourcen-Schutzblöcke eingebaut. Mfg, Chakotay1308[/edit] [edit=Chakotay1308]Klassifizierung. Mfg, Chakotay1308[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 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