[Func] Vider Historique et Cache IE

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

[Func] Vider Historique et Cache IE

#1

Message par Tlem »

Voici deux fonctions regroupées dans le même code.
La fonction _EmptyIEHistory() comme son nom l'indique vide l'historique d'internet explorer et la fonction _EmptyIECache() vide le cache.

Il y à sans doute possibilité d'améliorer la gestion des erreurs, mais ça, je vous laisse voir. ;)

Code : Tout sélectionner

If _EmptyIEHistory() Then MsgBox(64, "Historique", "Historique Internet Explorer supprimé")
If _EmptyIECache() Then MsgBox(64, "Cache", "Cache Internet Explorer supprimé")

Func _EmptyIEHistory()
    ; Lecture de la clé dans la base de registre pour la compatibilité Vista/Seven
    $IEHistory = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "History")
    If $IEHistory = "" Then
        SetError(1)
        Return 0
    EndIf
    ; Au cas ou la clé serait écrite avec la variable %userprofile%
    $IEHistory = StringReplace($IEHistory, "%userprofile%", @UserProfileDir) & "\History.IE5"
    ; Suppression de l'historique IE
    _FileAndDirectoryDelete($IEHistory)
    $Size = DirGetSize($IEHistory, 1)
    If $Size[2] <> 0 Then ; Vérifie que le répertoire est vide.
        SetError(1)
        Return 0
    Else
        Return 1
    EndIf
EndFunc   ;==>_EmptyIEHistory

Func _EmptyIECache()
    ; Lecture de la clé dans la base de registre pour la compatibilité Vista/Seven
    $IECache = RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Cache")
    If $IECache = "" Then
        SetError(1)
        Return 0
    EndIf
    ; Au cas ou la clé serait écrite avec la variable %userprofile%
    $IECache = StringReplace($IECache, "%userprofile%", @UserProfileDir)
    ; Suppression du cache IE
    _FileAndDirectoryDelete($IECache)
    ; Suppression du contenu du répertoire Content.IE5.
    run(@ComSpec & ' /c rd /s /q "' & $IECache & '\Content.IE5"',$IECache,@SW_HIDE)
    $Size = DirGetSize($IECache & '\Content.IE5', 1)
    If $Size[2] <> 0 Then ; Vérifie que le répertoire est vide.
        SetError(1)
        Return 0
    Else
        Return 1
    EndIf
EndFunc   ;==>_EmptyIEHistory

Func _FileAndDirectoryDelete($sDir)
    $search = FileFindFirstFile($sDir & "\*")
    If @error Then Exit
    While 1
        $Next = FileFindNextFile($Search)
        If @error Then ExitLoop
        $Next = $sDir & "\" & $Next
        $att = FileGetAttrib($Next)
        If StringInStr($att, "d") Then
            FileSetAttrib($Next, "-RSH", 1)
            DirRemove($Next, 1)
        Else
            FileSetAttrib($Next, "-RSH")
            FileDelete($Next)
        EndIf
    WEnd
    FileClose($search)
EndFunc   ;==>_FileAndDirectoryDelete
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [Func] Vider Historique et Cache IE

#2

Message par timmalos »

J'en ai eu besoin aujourd'hui. Merci de m'avoir épargner 10 minutes de boulot (ou beaucoup plus^^)
Bref, Merci, je sais que ca fait toujours plaisir alors je le dis au moins quand j'utilise ces fonctions. :lol:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Func] Vider Historique et Cache IE

#3

Message par Tlem »

Il est vrai que l'on peut faire pas mal de chose en AutoIt, mais en la circonstance, je t'aurais conseillé d'utiliser CCleaner portable. ;)
Il fait la même chose, mais en mieux et plus complet.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [Func] Vider Historique et Cache IE

#4

Message par timmalos »

Of Course, mais pour le mettre dans un script c'etait trop complet à gerer . Je souhaite juste vider le cache afin d'etre sur que ma simulation ne buguera pas à cause de ca. En la circonstance, c'etait donc exactement ce qu'il me fallait. Bien sur, CCleaner est present sur mes PCs quand je fais un vide moi même, mais la le script va être dans un parc réseau et donc il me fallait une fonction exactement comme celle là. Donc mon merci est bien de mise ;)
Répondre