![]() // Infos für eine
Dateiendung auslesen
(Displayname,
Typname, Startprogramm). uses Registry; procedure ExtensionsInfo(endg: string; gefunden: TStrings); var typ, anzeige, Pgm: string; sl: TStringList; reg: TRegistry; x: Integer; begin screen.cursor := crHourGlass; gefunden.Clear; endg := lowercase(endg); if Copy(endg, 1, 1) <> '.' then endg := '.' + endg; reg := TRegistry.Create; try reg.rootkey := HKEY_CLASSES_ROOT; if reg.OpenKey('', False) then begin sl := TStringList.Create; try reg.GetKeyNames(sl); reg.CloseKey; for x := 0 to sl.Count - 1 do begin if Copy(sl[x], 1, 1) = '.' then begin if lowercase(sl[x]) = endg then if reg.OpenKey(sl[x], False) then begin typ := reg.ReadString(''); reg.CloseKey; if typ <> '' then begin if reg.OpenKey(typ, False) then begin anzeige := reg.ReadString(''); reg.CloseKey; end; if reg.OpenKey(typ + '\shell\open\command', False) then begin Pgm := reg.ReadString(''); gefunden.Add(Format('Endung: %s'#13#10 + 'Typ-Name: %s'#13#10 + 'Displayname: %s'#13#10'Server: %s', [sl[x], typ, anzeige, Pgm])); reg.CloseKey; end; end; end; end; end; finally sl.Free; end; end; finally reg.Free end; if gefunden.count = 0 then gefunden.add('nicht gefunden'); screen.cursor := crDefault; end; // Beispielaufruf procedure TForm1.Button2Click(Sender: TObject); begin Memo1.ScrollBars := ssBoth; ExtensionsInfo('.bmp', Memo1.Lines); end; |
Zugriffe seit 6.9.2001 auf Delphi-Ecke