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

Многие подходы возможны. Вот один из них: создайте более простую функцию, которая будет проверять, находится ли строка first в конкретной указанной позиции, назовем ее start в строке second. Это довольно просто: вы сравниваете first[i] с second[start+i] для всех i в диапазоне от 0 до длины first - 1.

Затем вторым шагом будет повторение этой функции для всех начальных позиций от 0 до длины второй строки при проверке границ (вы не можете прочитать после конца строки).

Вы также можете выполнить некоторые оптимизации позже, когда будет работать первая версия. : -)

5
задан Daniel Silveira 4 February 2009 в 17:57
поделиться

2 ответа

На самом деле я получил его!

В 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.

5
ответ дан 14 December 2019 в 04:49
поделиться

Не могли Вы просто искать 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.

3
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: