2009-02-04 20 views

Odpowiedz

3

Nie można po prostu wyszukać C:\Documents and Settings\user\Local Settings\Temporary Internet Files dla plików z "cookie" w nazwie pliku?

Oto rozmowa Win32 dostać folder:

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

przepustkę CSIDL_COOKIES jako nFolder argument.

Sprawdź ten link pod numerem A Cleanup API for Windows.

Pliki cookie z pamięci podręcznej można usuwać za pomocą funkcji FindFirstUrlCacheEntry, FindNextUrlCacheEntry i DeleteUrlCacheEntry. Możesz przekazać "cookie:" jako pierwszy argument (LPCTSTR lpszUrlSearchPattern) do FindFirstUrlCacheEntry.

+0

To bardzo brzydkie rozwiązanie. Teoretycznie można usunąć pliki, ale gdy Internet Explorer jest uruchomiony, tego nie zauważy. Prawidłowym sposobem jest użycie do tego API (jak poprawnie odpowiedział Daniel) – Elmue

5

Właściwie to mam!

W Windows API masz funkcji, aby utworzyć ciasteczka zwane InternetSetCookie i go używać tak:

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

Ale, jeśli chcesz usunąć ciasteczka zamiast tworzenia go, po prostu trzeba ustawić pole ważności gdzieś w przeszłości, tak:

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

Więcej informacji na ten temat w Managing Cookies.

Powiązane problemy