Как очистить куки Internet Explorer программно? - PullRequest
5 голосов
/ 04 февраля 2009

Как программно очистить файлы cookie Internet Explorer?

Есть ли какая-нибудь функция Windows API для этого?

Ответы [ 2 ]

5 голосов
/ 06 февраля 2009

На самом деле, я понял!

В Windows API у вас есть функция для создания файлов cookie, которая называется InternetSetCookie, и вы используете ее следующим образом:

InternetSetCookie("http://teste.com", NULL, "name = value; expires = Sat,01-Jan-2020 00:00:00 GMT");

Но, если вы хотите удалить cookie вместо его создания, вам просто нужно установить поле срока действия где-то в прошлом, например так:

InternetSetCookie("http://teste.com", NULL, "name = value; expires = Sat,01-Jan-2000 00:00:00 GMT");

Подробнее об этом можно узнать в Управление файлами cookie .

3 голосов
/ 04 февраля 2009

Не могли бы вы просто найти C:\Documents and Settings\user\Local Settings\Temporary Internet Files для файлов с 'cookie' в имени файла?

Вот вызов Win32 для получения папки:

BOOL SHGetSpecialFolderPath(
  HWND hwndOwner,
  LPTSTR lpszPath,
  int nFolder,
  BOOL fCreate 
);

Передайте CSIDL_COOKIES в качестве аргумента nFolder.

Проверьте эту ссылку API очистки для Windows .

Вы можете удалить кэшированные файлы cookie с помощью функций FindFirstUrlCacheEntry, FindNextUrlCacheEntry и DeleteUrlCacheEntry. Вы можете передать cookie: в качестве первого аргумента (LPCTSTR lpszUrlSearchPattern) FindFirstUrlCacheEntry.

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