wie kann ich per Quellcode die eingegebenen URL`s im IE löschen ?



  • Hey Orp, bei der MSDN kann ich leider nichts genaues darüber finden ! Wie soll ich das denn benutzen ?



  • CComPtr<IUrlHistoryStg2> history;

    history.CoCreateInstance(CLSID_CUrlHistory);

    history->ClearHistory();



  • Irgendwie klappt das nicht, ich kriege ne menge Fehler... 😕



  • #include <atlbase.h>
    #include <urlhist.h>
    #include <ShlGuid.h>

    int main(int argc, char **args)
    {
    CoInitialize(NULL);

    CComPtr<IUrlHistoryStg2> history;

    history.CoCreateInstance(CLSID_CUrlHistory);

    history->ClearHistory();

    return 0;
    }



  • Danke, es werden aber immernoch alle URL`s in der Adressleiste angezeigt ... 😞



  • Du kannst sie auch direkt in der Registry löschen, such einfach mal mit RegEdit nach einer URL.



  • ich habe schon die URL`s in der Reg gelöscht, aber trotzdem werden die immernoch in der Adressleiste vom IE angezeigt !



  • Sorry, wenn ich die URL`s in der Reg lösche, werden die nicht mehr in der Adressleiste angezeigt. Aber wenn ich eine Page aus den Fravoriten nehme, werden die noch in der Adressleiste angezeigt und es werden keine Einträge in die Reg gemacht. Nur bei selbst eingetippten URL`s wird ein Eintrag gemacht !



  • Was genau willst du denn jetzt löschen? Die Auto-Vervollständigung für URLs? Dazu müsstest du afaik die temporären Internet-Dateien löschen. Das was nach dem Klick auf den Pfeil neben der Adressleiste kommt stammt aus der Registry 🙂



  • User1989 schrieb:

    Sorry, wenn ich die URL`s in der Reg lösche, werden die nicht mehr in der Adressleiste angezeigt. Aber wenn ich eine Page aus den Fravoriten nehme, werden die noch in der Adressleiste angezeigt und es werden keine Einträge in die Reg gemacht. Nur bei selbst eingetippten URL`s wird ein Eintrag gemacht !

    ich denke nicht, dass du dieses verhalten beeinflussen kannst



  • Ich möchte einfach nur, dass keine von mir eingegebenen URL`s in der Adressleiste sichbar werden !



  • Wie gesagt: die zuletzt direkt eingegebenen URLs sind in der Registry gespeichert und der Rest wird wohl in der Verlaufs-Liste gespeichert - also direkt im File-System (C:\Dokumente und Einstellungen\%USERDIR%\Lokale Einstellungen\Verlauf).
    Den konreten Speicherort bekommst du über SHGetSpecialFolderPath mit CSIDL_HISTORY 🙂

    Oder meinst du nur die IE-Einstellung unter Extras > Internetoptionen > Inhalte > AutoVervollständigen > Webadressen 😕



  • Genau das meine ich ! Aber wozu brauche ich denn SHGetSpecialFolderPath und CSIDL_HISTORY ? Der genaue speicherort des Verlaufs kann ich doch aus der REG lesen ! Das funtzt besser. Aber ein neues Problem : Wenn ich z.B. mit remove den Inhalt des Verlauf Ordner`s lösche, dann wird zwar alles gelöscht, aber trotzdem werden immernoch die URL`s in der Adressleiste angezeigt ! ... Warum das ? Liegt es an der index.dat die noch im Verlaufs Ordner drinne bleibt und die man nicht löschen kann ?



  • du verwechslst da einiges

    es gibt einmal die history, die kannst du mit IUrlHistoryStg2 löschen

    dann gibt es noch die typed urls, die kannst du aus der registry löschen

    dann gibt es noch autocomplete bei favoriten urls, und das wirst du nicht verhindern können, ausser wenn du die favoriten löschst



  • Aber mit History meinst du ja den Verlauf...und wenn ich versuche mit IUrlHistoryStg2 den zu löschen, passiert gar nix...warum auch immer !? Mein Verlauf leert sich nicht....



  • doch, funktioniert
    nach ausführen des codes ist mein verlauf komplett leer

    auch enumeriern der urls in der history hat funktioniert



  • Sorry Orp, du hast recht er funktioniert ! Bei mir wurde der verlauf nicht gelöscht, da ich vor langer Zeit mal an meinen User Shell Folders in der Reg herumgespielt habe...Und da habe ich den eigentlichen Verlaufsordner unter einen falschen Namen gespeichert...Dummer Fehler 😃
    Naja, Problem gelöst !!! Danke an alle


Anmelden zum Antworten