// Wenn man im IE
die Combobox mit den Adressen aufklappt, kann man bisherig // Getestet mit D4 unter WinME bei IE 5.5 uses Registry; const leer = '-- nichts gefunden --'; var sl: TStringlist; procedure TForm1.FormCreate(Sender: TObject); begin sl := TStringlist.create; listbox1.multiselect := false; end; procedure TForm1.FormDestroy(Sender: TObject); begin sl.Free; end; function History(ts: TStrings): boolean; var Reg: TRegistry; x: integer; s: string; begin result := false; Reg := TRegistry.Create; try x := 1; ts.clear; sl.clear; Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('\Software\Microsoft\Internet Explorer\TypedUrls', True) then begin repeat sl.add('url' + inttostr(x)); s := Reg.readstring(sl[x - 1]); if s = '' then break; ts.add(s); inc(x); until false; if ts.count = 0 then begin ts.add(leer); sl.clear; end; result := true; end; finally Reg.CloseKey; Reg.Free; end; end; function loeschen(i: integer; lb: TListbox): boolean; var Reg: TRegistry; x: integer; begin result := false; Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('\Software\Microsoft\Internet Explorer\TypedUrls', false) then begin Reg.deletevalue('url' + inttostr(i + 1)); sl.delete(i); for x := i + 1 to sl.count do Reg.renamevalue('url' + inttostr(x + 1), 'url' + inttostr(x)); lb.Items.delete(i); result := true; end; finally Reg.CloseKey; Reg.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if not history(listbox1.items) then showmessage('FEHLER'); end; procedure TForm1.ListBox1DblClick(Sender: TObject); begin if listbox1.items[listbox1.itemindex] <> leer then begin if Application.MessageBox(PChar('Eintrag'#13 + listbox1.items[listbox1.itemindex] + #13'wirklich löschen?'), 'IE-Historie', MB_OKCANCEL + MB_DEFBUTTON2 + MB_ICONQUESTION) = IDOK then if not loeschen(listbox1.itemindex, listbox1) then showmessage('FEHLER'); end; end; |