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