Как очистить кэш MSIE / WinInet программно? - PullRequest
3 голосов
/ 05 мая 2009

Я пытаюсь очистить кэш WinInet с помощью Win32 API - путем аннулирования записей в кэше или их удаления (не имеет значения). Я не могу найти способ сделать это для всего кэша (кроме итерации по каждой записи - пример в C # , другой в VB ) - это вообще возможно?

Ответы [ 3 ]

4 голосов
/ 05 мая 2009

По-видимому, можно (ab) использовать панель «Свойства обозревателя» для очистки файлов кэша, выполнив следующее:

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 

Попробую назвать это DLL.

Источник: http://www.vbforums.com/archive/index.php/t-440508.html, комментарий от technorobbo

2 голосов
/ 05 мая 2009

Я вполне уверен, что делать FindFirst / FindNextUrlCacheEntry (), тогда DeleteUrlCacheEntry () - единственный способ убедиться, что он работает во всех версиях IE.

В качестве альтернативы вы можете использовать FindFirst / FindNextUrlCacheGroup () и DeleteUrlCacheGroup () с "CACHEGROUP_FLAG_FLUSHURL_ONDELETE", но вы должны быть уверены, что удалили только то, что хотите. Например, история, файлы cookie и временные файлы Интернета - это все группы кэша.

0 голосов
/ 16 сентября 2010

FTR: поясняется точное значение аргумента (8 выше, означает только временные файлы Интернета, а не файлы cookie и т. Д.), Например, на http://www.howtogeek.com/howto/windows/clear-ie7-browsing-history-from-the-command-line.

Кстати: к сожалению, RunDll32 является асинхронным, что делает его не идеальным для работы до, например. автоматизированные веб-тесты. У кого-нибудь есть идея, как выполнить это как блокирующий вызов, или как программно найти точное имя каталога каталога «Временные файлы Интернета», чтобы его можно было опрашивать, пока он не будет пустым? Кодировать его на C (нужно на Java, может сделать JNI) - действительно единственный вариант, да? ; (

PS: Как можно опубликовать ответ на существующий ответ вместо того, чтобы начинать новый ответ в stackoverflow?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...