2016-05-08 15 views
5

Wenn ich eine Instanz von IE geöffnet habe, mit Zugriff auf die zugrunde liegenden COM-Objekte (IWebBrowser2 etc ...) kann ich den gesamten Verlauf, Cookies und zwischengespeicherte Daten?Programmatisch löschen IE Geschichte, Cookies, Cache, während IE geöffnet ist

Gibt es eine Möglichkeit, dies im privaten und nicht privaten Modus zu tun, ohne den Browser zu schließen und wieder zu öffnen?

Ich habe versucht, rundll32.exe inetcpl.cpl,ClearMyTracksByProcess 1023 mit verschiedenen Kombinationen der Bit-Flags als Argumente übergeben, aber es scheint nur zu funktionieren, wenn der Browser geschlossen ist, und ich brauche eine Lösung, die den Browser geöffnet bleiben lässt.

+0

Mögliche Duplikat http://stackoverflow.com/questions/9911713/delete-internet-explorer-8-history-cookies-cache-and-passwords-with -c – davidcondrey

+0

Dies ist undokumentiert und ändert sich mit der Zeit, aber Sie könnten Tricks wie die Installation eines globalen CBT- oder callwndproc-Hooks versuchen und dann die Funktion 'ShowDeleteBrowsingHistoryDialog (HWND hWndParent)' aufrufen, die von 'inetcpl.cpl' exportiert wird von Ihrem Haken, um es unsichtbar zu machen, dann überprüfen Sie die Kästchen dort und senden Sie eine Befehlsnachricht, die den Absenden-Button simuliert, und verwenden Sie den globalen Haken erneut, um auch die Fortschrittsfenster anzuzeigen, die von den von dieser Funktion erzeugten Unterprozessen angezeigt werden. – CherryDT

+0

Beachten Sie, dass diese Funktion mit mittlerer Integritätsebene aufgerufen werden muss, da andernfalls nur Daten mit niedriger Integrität bereinigt werden. Man könnte auch etwas mehr mit 'ClearMyTracksByProcess' spielen, da seit neueren Windows-Versionen (die nicht genau wissen, was genau ist) verschiedene Arten von Argumenten verwendet werden:' Flags: AAA WinX: BBB WinY: CCC IEFrame: DDD' (wobei A, B, C sind dezimal und D ist hexadezimal und verwendet immer 16 Ziffern) - Flags scheinen die Merkerwerte zu sein, die Sie bereits kennen (obwohl neue hinzugefügt wurden), dann gibt es ein Fortschrittsfenster pos. und möglicherweise HWND des IEFrame-Fensters. Dies * könnte verwendet werden, um IE darüber zu aktualisieren. – CherryDT

Antwort