2009-05-05 7 views

Répondre

2

Je suis assez certain de faire le FindFirst/FindNextUrlCacheEntry() puis DeleteUrlCacheEntry() est la seule façon de vous assurer qu'il fonctionne dans toutes les versions de IE.

Vous pouvez également utiliser FindFirst/FindNextUrlCacheGroup() et DeleteUrlCacheGroup() avec "CACHEGROUP_FLAG_FLUSHURL_ONDELETE" mais vous devez vous assurer que vous supprimez uniquement ce que vous voulez. Par exemple, l'historique, les cookies et les fichiers Internet temporaires sont tous des groupes de cache.

+0

Dans ce cas, ça ne me dérangerait pas de supprimer tous ceux-là, j'espérais qu'il y avait un moyen plus facile, eh bien, – Piskvor

4

Apparemment, il est possible de (ab) utiliser le panneau Options Internet pour effacer les fichiers de cache en exécutant ceci:

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 

va essayer d'appeler cela comme une DLL.

Source: http://www.vbforums.com/archive/index.php/t-440508.html, commentaire par technorobbo

+1

Cela ne fonctionne que sur IE7 + –

+0

@jeffamaphone: Merci pour l'info, gardera cela à l'esprit – Piskvor

0

FTR: La signification exacte de l'argument (8 ci-dessus, signifie seulement les fichiers Internet temporaires et non les cookies, etc.) est expliquée par ex. au http://www.howtogeek.com/howto/windows/clear-ie7-browsing-history-from-the-command-line.

BTW: Malheureusement, RunDll32 est asynchrone, ce qui ne le rend pas idéal pour fonctionner avant, par ex. tests web automatisés. Quelqu'un aurait-il une idée sur la façon de l'exécuter comme un appel de blocage, ou sur la façon de trouver par programme le nom de répertoire exact du répertoire "Temporary Internet Files" afin qu'il puisse être interrogé jusqu'à ce qu'il soit vide? Code en C (besoin en Java, pourrait faire JNI) est vraiment la seule option, hein? ; (

PS:. Comment peut-on poster une réponse à une réponse existante au lieu de commencer une nouvelle réponse sur StackOverflow

+0

Merci, le bit-mask est effectivement pertinent dans l'appel. (Et btw, quand vous atteignez la réputation 50 , vous serez en mesure de laisser des commentaires sur les questions et les réponses des autres, d'ici là, vous ne pouvez que commenter vous-même) – Piskvor