работа с кэшем средствами VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Wic_
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 23.01.2008 (Ср) 22:14

работа с кэшем средствами VB

Сообщение Wic_ » 06.05.2008 (Вт) 18:33

Подскажите, возможно ли из кэша
Код: Выделить всё
Environ$("UserProfile") & "\Local Settings\Temporary Internet Files\")

средствами VB6 или командной строки удалить файл? Или хотя бы изменить атрибут файла «действителен до…»

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.05.2008 (Вт) 20:18

Wic_
"Средствами VB" файл удаляется с помощью функции Kill.
"Средставми Windows" (которыми пользуются средства VB) файл удлаяется функцией DeleteFile.
Средствами командной строки файл удаляется с помощью команды del.

Атрибута "Действителен до" нет у файлов ни в FAT32, ни в, насколько я знаю, NTFS. Свойство "Действителен до" для файлов IE-кэша хранятся в специальном index-ном файле.

Кстати, недавно была тема по поводу удаления файлов в IE-кэше от Wolfie. Поищи, там пришли, кажется, к каким-то выводам.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Wic_
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 23.01.2008 (Ср) 22:14

Сообщение Wic_ » 06.05.2008 (Вт) 21:23

Хакер файлы из этой папки нельзя удалить с помощью Kill, del или с помощью FSO. Во всяком случае у меня не получается. Упомянутое вами обсуждение я смотрел, там говорилось про удаление куков из другой папки (если я про то самое обсуждение). Может еще какое решение есть...

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 06.05.2008 (Вт) 21:46

Для работы с кэшем IE существует специальный набор функций.

Удаление из Кэша:

Код: Выделить всё
Public Declare Function DeleteUrlCacheEntry Lib "wininet.dll" _
    (ByVal lpszUrlName As String) As Long

Wic_
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 23.01.2008 (Ср) 22:14

Сообщение Wic_ » 07.05.2008 (Ср) 18:45

Alexanbar спасибо. А не покажете как вызывать функцию? Допустим адрес C:\Documents and Settings\Администратор\Local Settings\Temporary Internet Files\R.gif введен в Text1. Пытался использовать функцию, смотрел инфу в интернете, ничего не получилось. И еще: проверять наличие файла перед удалением нужно?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 07.05.2008 (Ср) 22:39

Нужно в качестве строки указывать не файл на диске, а адрес в инете, который ему соответствует, например

DeleteUrlCacheEntry "http://xxx.yyy.ru/"

Wic_
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 23.01.2008 (Ср) 22:14

Сообщение Wic_ » 08.05.2008 (Чт) 14:45

Спасибо, разобрался. Для интересующихся - в API-Guide хороший пример есть.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 30

    TopList  
cron