1. #1
    Avatar von Next
    Registriert seit
    02.03.2013
    Beiträge
    130
    Thanked 133 Times in 45 Posts

    Standard Cookies aus WebControl bzw. IE löschen

    Heyho,

    folgendes Problem:

    ich möchte gerne die Cookies vom Internet Explorer bzw. dem WebControl löschen.
    Ich hatte mir schon ein paar verschiedene Codes angeschaut, bisher hat leider keiner so richtig funktioniert.

    Zum Beispiel:

    Code:
     Dim Dinfo As DirectoryInfo = New DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.Cookies))
            Dim Finfo As FileInfo
            For Each Finfo In Dinfo.GetFiles
                Try
                    Finfo.Delete()
                Catch ex As Exception
                End Try
            Next

    Bei diesem Code kam zwar keine Fehlermeldung, aber die Cookies hat er auch nicht erfolgreich gelöscht :/

    Wäre euch wirklich dankbar für etwas Hilfe

    MfG

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    8.066
    Thanked 9.403 Times in 3.239 Posts
    Blog Entries
    5

    Standard AW: Cookies aus WebControl bzw. IE löschen

    Also deine Schleife sieht auf den ersten Blick vom Syntax her falsch aus. Wenn du damit nur die Variable außerhalb der Schleife deklarierst und dieses Objekt bei jedem Durchlauf das aktuelle Element enthält will ich nix gesagt haben. Da musst du aber selbst nach schauen, hab mit VB nix am Hut, bekomme bei dem Syntax Augenkrebs.

    Der IE hat scheinbar zwei Ordner, in dem Cookies gespeichert werden:

    C:\Users\[Benutzername]\AppData\Local\Microsoft\Windows\Temporary Internet Files --> Entspricht Environment.SpecialFolder.InternetCache
    Enthält Cookies und andere temporäre Dateien (nehme an, dass der IE dort den gesamten Cache speichert)
    C:\Users\[Benutzername]\AppData\Roaming\Microsoft\Windows\Cookies --> Entspricht Environment.SpecialFolder.Cookies
    Enthält anscheinend nur Cookies

    Wenn du die beide leerst sollten alle Cookies gelöscht sein.
    Beim letzten bin ich mir aber nicht 100% sicher ob da nur der IE seine Cookies speichert oder andere Browser evtl auch noch.
    Firefox auf jeden Fall nicht, der Speichert die Cookies im Profilordner des jeweiligen Nutzerprofils welches gerade aktiv ist. Aber wie es bei den anderen aussieht weiß ich nicht, müsstest du testen. Du solltest halt im Hinterkopf behalten, dass du eventuell damit noch die Cookies von anderen Browsern killst.


  3. The Following User Says Thank You to DMW007 For This Useful Post:

    Next (22.04.2013)

  4. #3
    Avatar von Next
    Registriert seit
    02.03.2013
    Beiträge
    130
    Thanked 133 Times in 45 Posts

    Standard AW: Cookies aus WebControl bzw. IE löschen

    Vielen Dank für die Antwort. Ich hatte jetzt noch einen weiteren Code gefunden, der sogar richtig gut funktioniert

    Code:
    Try
                For Each Datei As String In My.Computer.FileSystem.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies), FileIO.SearchOption.SearchAllSubDirectories)
                    My.Computer.FileSystem.DeleteFile(Datei)
                Next
            Catch ex As Exception
            End Try
            Shell("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2")
    Das Ganze funktioniert wie gesagt sehr gut. Das einzige "Problem" ist jetzt noch, dass man den IE schließen muss, bevor man die Cookies löschen kann. Falls jemand dafür noch eine Lösung hat, wäre das natürlich optimal

  5. #4
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    8.066
    Thanked 9.403 Times in 3.239 Posts
    Blog Entries
    5

    Standard AW: Cookies aus WebControl bzw. IE löschen

    Dann ist wohl wie von mir vermutet deine Schleife falsch, die sieht der einer validen foreach-Schleife in C# nämlich schon wesentlich ähnlicher.
    Die Option FileIO.SearchOption.SearchAllSubDirectories dürfte keine Auswirkungen haben und kann weggelassen werden, da Cookies im Dateisystem als reine Textdateien vorliegen. Auf meinem System gibt es im Cookie-Ordner auch keine Unterordner sondern nur Textdateien, also speichert der IE wohl alles direkt da rein.
    Alternativ kanns natürlich auch an deinem RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 Aufruf liegen, der Befehl sollte die Cookies löschen. Eins von beiden sollte also reichen, kannst ja testen welches der beiden Snippets den gewünschten Effekt erzielt.
    Btw solltest du aber die Exception noch in irgend einer Form handhaben, die kann zb auftreten wenn der IE noch geöffnet ist.

    Für das Schließen des IE gibts keine Lösung solange du dessen Daten im Dateisystem löschst. Eine Datei kann nicht gelöscht werden, solange andere Programme darauf zugreifen. Was du testen könntest wäre, ob dein RunDll32.exe Aufruf die Cookies zur Laufzeit löschen kann.

    Ich nehme mal an, du nutzt den IE um irgendwelche HTTP-Anfragen zu automatisieren. In dem Fall empfehlt es sich sowieso, die Anfragen von Hand zu senden. Ist sauberer da du die Cookies in einem seperaten Array hast wo du die unabhängig vom IE oder sonst was anderem jederzeit Löschen oder verändern kannst und außerdem performanter. Außerdem kannst du mit dem IE Control grade bei komplexeren Seiten ggf. Probleme bekommen, da das selbst in der aktuellsten Framework-Version auf einer uralten IE-Version (7.0) basiert.


  6. The Following User Says Thank You to DMW007 For This Useful Post:

    Next (22.04.2013)

Ähnliche Themen

  1. Passwörter in Cookies
    Von Gurke im Forum Internet und Technik
    Antworten: 2
    Letzter Beitrag: 19.10.2012, 22:09
  2. Youtube-Abo-Script über Cookies
    Von Baumstumpf im Forum Internet und Technik
    Antworten: 13
    Letzter Beitrag: 29.05.2012, 13:41
  3. WinVista Festplatte löschen.
    Von Waka Flocka im Forum Windows
    Antworten: 8
    Letzter Beitrag: 19.04.2012, 14:28
  4. Java Applet & Cookies
    Von uncopyable im Forum Java
    Antworten: 1
    Letzter Beitrag: 04.12.2011, 18:25
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.