Что такое файлы index dat

Что такое файлы index dat

Пишу программу, которая по нажатию одной кнопки должна очистить все, что мне надо (несколько ключей в реестре, hystory и т.д.)
Нужно очистить посещеные адреса, которые записаны в internet explorer-e. Есть в реестре ключ — TypedURLs, в нем хранятся эти пути. Но, еще еи пути хранятся в файле index.dat в папке Documents and SettingsuserLocal SettingsTemporary Internet FilesContent.IE5
Этот фаил постоянно занят и его нельзя удалить. Зато из эксплорера (проводника) можно зайти в папку Temporary Internet Files и увидеть прямо в нем содержимое файла index.dat, оттуда можно удалять всё что угодно.
Вопрос, как осуществить это программно? Может есть API функция специальная?
Варианты: последовательно нажимать кнопки программно и устанавливать драйвер чтобы удалять занятые файлы не подходят.


KilkennyCat © ( 2006-07-21 21:42 ) [1]

Работа с данным файлом ведется при помощи URLCACHEAPI


Destroyer © ( 2006-07-22 10:57 ) [2]

Спасибо!
Такой вопрос. Надо очистить все что там есть. Т.е. получать каждую запись
(geturlcacheentryinfoex), а затем удалять (DeleteUrlCacheEntry). Или можно как-то по другому?
И еще. Эта функция работает с index.dat в Temporary Internet Files, а еще есть файлы index.dat, в которых похожая информация в папках Cookies и еще примерно местах в 4х. Как работать с ними?


KilkennyCat © ( 2006-07-22 11:31 ) [3]

Думаю, надо работать с FindFirstUrlCasheEntry или FindFirstUrlCasheGroup,
FindNextUrlCasheEntry и удалять. Получать необходимо, если прочитать ее хотите.

По поводу других файлов: посмотрите их содержимое. В заголовке файла наверняка будет описание. Именно так я нашел ответ на Ваш вопрос.


KilkennyCat © ( 2006-07-22 11:39 ) [4]

Вот, кстати, если почитать описание:
FindFirstUrlCacheEntry
Begins the enumeration of the Internet cache.
HANDLE FindFirstUrlCacheEntry(
LPCTSTR lpszUrlSearchPattern <>,
LPINTERNET_CACHE_ENTRY_INFO lpFirstCacheEntryInfo <>,
LPDWORD lpcbCacheEntryInfo <>
);
Parameters
lpszUrlSearchPattern
[in] A pointer to a string that contains the source name pattern to search for. This parameter can only be set to "cookie:", "visited:", or NULL. Set this parameter to "cookie:" to enumerate the cookies or "visited:" to enumerate the URL History entries in the cache. If this parameter is NULL, FindFirstUrlCacheEntry returns all content entries in the cache.
lpFirstCacheEntryInfo
[out] Pointer to an INTERNET_CACHE_ENTRY_INFO structure.
lpcbCacheEntryInfo
[in, out] Pointer to a variable that specifies the size of the lpFirstCacheEntryInfo buffer, in TCHARs. When the function returns, the variable contains the number of TCHARs copied to the buffer, or the required size needed to retrieve the cache entry, in TCHARs.
Return Values


Destroyer © ( 2006-07-22 18:13 ) [5]

Еще раз спасибо, но я не очень понял, что значит

> По поводу других файлов: посмотрите их содержимое. В заголовке
> файла наверняка будет описание

Прямо в этих файлах index.dat?

Делаю вот так:
var
info : PInternetCacheEntryInfoA;
b: PDword;
t: string;
ninfo: PInternetCacheEntryInfoA;
buf: PDWORD;
adr: Cardinal;

begin
adr:=FindFirstUrlCacheEntryEx(nil,0,0,0,info,b,nil,nil,nil);
if (info <> nil) then
begin
repeat
t:= info.lpszSourceUrlName;
until FindNextUrlCacheEntryEx(adr,ninfo,buf,nil,nil,nil) = true;
end;
в t постоянно одно и тоже значение, но видимо, это неудивительно, т.к. значение adr всегда ноль.
А там должно быть
Handle returned by FindFirstUrlCacheEntryEx, which started a cache enumeration
Т.е. неправильно получаем хэндл. . Как правильно использовать эти функции?


KilkennyCat © ( 2006-07-22 23:38 ) [6]


Destroyer © ( 2006-07-23 19:44 ) [7]

Нашел/подправил в инете вот такой код. Он ищет и удаляет почти все что нужно. Но, в хэлпе написан, если указать NULL (If this parameter is NULL, FindFirstUrlCacheEntry returns all content entries in the cache. ), то вернет все значения. Да, возвращает все, а вот удаляются все, кроме "visited:". Пробовал выбирать только "visited:", выбираются, но не удаляются. В чем тут может быть проблема?
var
lpEntryInfo : PInternetCacheEntryInfo;
hCacheDir : LongWord;
dwEntrySize : LongWord;
dwLastError : LongWord;

Читайте также:  У собеседника бегают глаза

begin
dwEntrySize := 0;
FindFirstUrlCacheEntry( NIL, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
GetMem( lpEntryInfo, dwEntrySize );
Try
hCacheDir := FindFirstUrlCacheEntry( NIL, lpEntryInfo^, dwEntrySize );
If ( hCacheDir <> 0 ) Then
DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName )
Else
Exit;
Finally
FreeMem( lpEntryInfo );
End;
try
Repeat
dwEntrySize := 0;
FindNextUrlCacheEntry( hCacheDir, TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
dwLastError := GetLastError();
If ( dwLastError = ERROR_INSUFFICIENT_BUFFER ) Then Begin
GetMem( lpEntryInfo, dwEntrySize );
If ( FindNextUrlCacheEntry( hCacheDir, lpEntryInfo^, dwEntrySize ) ) Then
DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
FreeMem(lpEntryInfo);
End;
Until ( dwLastError = ERROR_NO_MORE_ITEMS );
Finally
FindCloseUrlCache( hCacheDir );
End;
end;


KilkennyCat © ( 2006-07-23 20:01 ) [8]

Честно скажу — не знаю. Может, они открыты всегда?


Destroyer © ( 2006-07-23 21:00 ) [9]

Вот, кажется нашел в чем проблема. С помощью GetLastError();
Дело в том, что записи (entry) выглядят так:
http://isuas.nkosino.ru/zagotovka_files/top.gif
Cookie:sergey@isuas.nkosino.ru/
Visited: Sergey@http://csmania.ru/forum/search.php?mode=results

Тут 3 типа, как описано в хэлпе: http — ссылка, cookie: и visited:
Вот в ссылке и куки нет пробелов в строке, а в visited: есть пробел и ошибка возвращается — not found, короче не находит такую ссылку.
Есть функция
BOOLAPI UnlockUrlCacheEntryFile(
LPCTSTR lpszUrlName,
DWORD dwReserved
);

lpszUrlName
[in] Pointer to a null-terminated string that specifies the source name of the cache entry that is being unlocked. The name string should not contain any escape characters.
dwReserved
[in] Reserved. Must be zero.

Тут не должно быть нулей — концов строк, а пробел походу им мешает всему делу. Как обойти этот пробел?


Destroyer © ( 2006-07-23 22:32 ) [10]

Поправка: часть "visited:" стирается (та, что в файле index.dat в Temporary Internet Files), а часть остается в index.dat (в History — History.IE5)
Проблема теперь в том, как оттуда удалить.


KilkennyCat © ( 2006-07-24 00:13 ) [11]

Может быть из-за того, что в History группы?


Destroyer © ( 2006-07-24 13:09 ) [12]

Интересная идея, хотел попробовать, но нет функции FindFirstUrlCacheGroup. Как еще можно найти группы?


Destroyer © ( 2006-07-24 15:12 ) [13]

Нашел компонент (IECache) с этой функцией. Применил. Групп нет. С компонентом идет демо, там есть возможность очистить кэш (как раз то что нужно), но там точно такая же проблема — не удаляются часть visited: из history.ie5
Жду предложений.


KilkennyCat © ( 2006-07-24 16:39 ) [14]

> но нет функции FindFirstUrlCacheGroup.

Как это нет?! Есть.


Destroyer © ( 2006-07-24 18:03 ) [15]

В WinInet такой функции нет. Странно. Но это уже не важно, т.к. групп нет. А записи всеравно не удаляются. Они находятся фунциями FindFirstUrlCacheEntry и FindNextUrlCacheEntry, но не удаляются DeleteUrlCacheEntry. GetLastError выдает access denied.
Пробовал функцию UnlockUrlCacheEntryFile, но GetLastError после нее выдает
ERROR_FILE_NOT_FOUND
Вот так.
Вот код:
dwEntrySize := 0;
FindFirstUrlCacheEntry( "visited:", TInternetCacheEntryInfo( NIL^ ), dwEntrySize );
GetMem( lpEntryInfo, dwEntrySize );
Try
hCacheDir := FindFirstUrlCacheEntry( "visited:", lpEntryInfo^, dwEntrySize );
If ( hCacheDir <> 0 ) Then
begin

UnlockUrlCacheEntryFile(lpEntryInfo^.lpszSourceUrlName,0);
dwLastError := GetLastError();
if (dwLastError = ERROR_FILE_NOT_FOUND) then
begin
showmessage("ERROR_FILE_NOT_FOUND");
end;
DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
dwLastError := GetLastError();
if (dwLastError = ERROR_ACCESS_DENIED) then
begin
showmessage("ACCESS_DENIED");
end;
if (dwLastError = ERROR_FILE_NOT_FOUND) then
begin
showmessage("FILE_NOT_FOUND");
end;

Читайте также:  Новости с марса сегодня с марсохода

end
Else
Exit;
Finally
FreeMem( lpEntryInfo );
End;
Жду предложений


KilkennyCat © ( 2006-07-24 19:50 ) [16]

FindFirstUrlCacheGroup
Initiates the enumeration of the cache groups in the Internet cache.

HANDLE FindFirstUrlCacheGroup(
DWORD dwFlags,
DWORD dwFilter,
LPVOID lpSearchCondition,
DWORD dwSearchCondition,
GROUPID* lpGroupId,
LPVOID lpReserved
);

Parameters
dwFlags
[in] Reserved. Must be zero.
dwFilter
[in] Filters to be used. This parameter can be zero or one of the following values.Value Meaning
CACHEGROUP_SEARCH_ALL Search all cache groups.
CACHEGROUP_SEARCH_BYURL Not currently implemented.

lpSearchCondition
[in] Reserved. Must be NULL.
dwSearchCondition
[in] Reserved. Must be zero.
lpGroupId
[out] Pointer to the ID of the first cache group that matches the search criteria.
lpReserved
[in, out] Reserved. Must be NULL.
Return Values
Returns a valid handle to the first item in the enumeration if successful, or NULL otherwise. To get specific error information, call GetLastError. If the function finds no matching files, GetLastError returns ERROR_NO_MORE_FILES.

Но, раз она не нужна, то не нужна.

Насколько я понимаю, UnlockUrlCacheEntryFile можно использовать только для своих записей, т.е. которые наше приложение залочило, а не Виндоуз. Из этого могу сделать вывод, что утилита несколько сложнее будет: скорее всего, записи можно будет удалить лишь в момент загрузки ОС (как, например, всякие чекдиски, партитионманагеры и т.д.)


KilkennyCat © ( 2006-07-24 19:56 ) [17]

И предложу метод тыка, на всякий случай. а попробуйте самостоятельно убить пробел. Может, это ошибка длл при получении непосредственно для visited


Destroyer © ( 2006-07-25 21:43 ) [18]

Пробел убивал из отладчика, просто стирал его, и такая же ерунда получалась. Вообще странно, возможно они и в правду заняты и поэтому не удаляются. Перезагрузка — да, буду пробовать, но нужно без нее. Может еще есть выход.


Destroyer © ( 2006-07-26 23:45 ) [19]

Обнаружил оч. интересный эффект. На сайте микрософта нашел утилиту для очистки кэша. Скачал, но она у меня не устанавилась. На др. компьютере — все ок, уставновилась и всё очистила! Еще на одном тоже не установилась, и там тоже были нестираемые записи. Нашел все на томже микрософтовском сайте инфу про файлы index.dat. Они говорят, что если вдруг файлы повредились, т.к. их неудалить из под винды, надо зайти либо в другую админскую уч. запись, либо из под доса стереть. (вообще придумали). В общем стер я эти индекс даты батником через ключ реестра RunOnce, нестираемые пропали, теперь стираются все. Тутилита теперь ставится. Я делаю вывод, что эти файлы, как они говорят, были повреждены. Но это не единичный случай, т.к. на др. компьютерах тоже такие записи есть. Пока без перезагрузки полностью очистить кэш не удаётся.


KilkennyCat © ( 2006-07-26 23:54 ) [20]

Ну что ж, значит, придется делать анализ, и соответственно, уведомлять пользователя, что фигня вышла, перезагрузка нужна.
Однако, забавно, что они повреждаются.

Table of Contents:

Файлы Index.dat являются файлами, скрытыми на вашем компьютере под управлением Windows, которые содержат сведения обо всех сайтах, которые вы когда-либо посещали. В Windows 7 и более ранних версиях Internet Explorer 9 и более ранних версий использовался файл index.dat для индексации всей этой информации, в том числе интернет-кеша, файлов cookie и истории. Каждый URL-адрес и каждая веб-страница указаны, индексируются. Не только это, но и все электронные письма, отправленные или полученные через Outlook или Outlook Express, также регистрируются в этих файлах index.dat. Поэтому эти файлы должны были быть найдены в папках интернет-кэша, файлов cookie и истории.

Читайте также:  Как настроить отправку ммс на андроиде

Что такое файл Index.dat

Однако все изменилось с помощью Windows 8/10 . В Windows 8 файлы Index.dat не используются Internet Explorer 10. Функции индексирования реализуются в системе баз данных Microsoft. Говорят, что файл WebCacheV01.dat в папке C: Users username AppData Local Microsoft Windows WebCache в IE10 в Windows 8 играет аналогичную роль. Хотя вы можете видеть файлы index.dat в некоторых местах, вы также сможете увидеть файл counters.dat, файл container.dat, файл appssites.dat и т. Д. В папке Temporary Internet Files, History и Печенье. Это тоже скрытые файлы. Я обнаружил, что большинство из них — файлы размером 0 на моем компьютере под управлением Windows 8.

Чтение или просмотрщик индексов Index.dat

Вы можете использовать бесплатную версию Index.dat Suite или Index.dat Сканер для просмотра файла index.dat в Windows 7 или более ранней версии. Но вы не сможете использовать это бесплатное ПО в Windows 8 по причинам, описанным выше.

Пользователи Windows 7, Windows Vista могут загрузить и использовать бесплатную бесплатную программу . Это обещает быть довольно показательным опыт!

Удалить файл Index.dat

С течением времени файл Index.dat в папке «История» и другие папки тоже может стать очень большим. Вы не можете удалить его или изменить его размер с помощью встроенных параметров. Даже если вы очистите историю Internet Explorer, нажав кнопку «Очистить историю», размер файла Index.dat не изменится. Также не будет изменяться Дни, чтобы страницы в историческом значении менялись до 0. Вам нужно будет удалить его.

Чтобы защитить вашу конфиденциальность, вы можете удалить ее, но ее удаление затруднено, и процедура удаления вручную утомительна. Вместо этого вы можете использовать хороший очиститель, такой как freeware CCleaner, для удаления файла. После удаления или удаления файла index.dat Internet Explorer создаст новый пустой файл index.dat при перезагрузке.

Перейдите сюда, чтобы найти интересные факты о временных файлах в Windows.

Сообщение, перенесенное с WinVistaClub. com, обновленный и размещенный здесь.

Хотите узнать больше о других файлах или типах файлов или форматах файлов в Windows? Проверьте эти ссылки:

Удаляйте содержимое index.dat файлов

Последняя версия

Оценить это приложение

Файлы Index.dat, создает Windows для того чтобы хранить в них разнообразную информацию о вашей онлайн активности, такую как историю ваших посещений или файлы cookie.

Эти файлы ассоциированы с Windows Explorer, так что система не позволяет их удалить вручную, если вы захотите сохранить свою частную жизнь от любого возможного вторжения.

Чтобы преодолеть эту «небольшую» проблему теперь в вашем распоряжении есть Index.dat Analyzer.

Index.dat Analyzer это программа с открытым исходным кодом разработанная специально чтобы просматривать такие файлы и удалять их содержимое. В простом и красивом интерфейсе будет отображено содержимое файла, и немного информации о каждом из элементов. Вам всего лишь нужно выбрать нужные элементы, чтобы удалить их, а Index.dat Analyzer сделает все остальное.

Программа удаляет содержимое файла, но не сам файл, поэтому рекомендуется периодически проводить очистку системы

  • background Layer 1

Лицензия GNU
background Layer 1

Раздел Файлы и папки
background Layer 1

  • English

Загрузки 19,093
background Layer 1

Отзывы о Index dat Analyzer

There are opinions about Index dat Analyzer yet. Be the first!

Ссылка на основную публикацию
Что такое синтаксический пакет
Одна из проблем, с которыми можно столкнуться при установке приложения apk на Android — сообщение: «Синтаксическая ошибка» — ошибка при...
Что отражает двоичная матрица
Представление информации в табличной форме широко распростране­но. Чаще всего мы пользуемся прямоугольными таблицами. Простейшая таблица состоит из строк и граф...
Что означают значки в погоде на айфоне
Самые интересные новости о технике Apple и не только. Что означают значки погоды на iPhone? Сегодняшняя тема весьма заинтересует многих...
Что такое синтаксическая ошибка на андроиде
При попытке распаковать приложение из APK на Android может появляться «Синтаксическая ошибка. При синтаксическом анализе пакета возникла неполадка». Это значит,...
Adblock detector