2009-02-04 12 views

Respuesta

3

¿No podría simplemente buscar C:\Documents and Settings\user\Local Settings\Temporary Internet Files para los archivos con 'cookie' en el nombre de archivo?

Aquí está la llamada Win32 para obtener la carpeta:

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

Pass CSIDL_COOKIES como argumento nFolder.

Consulta este enlace A Cleanup API for Windows.

Puede eliminar las cookies en caché a través de las funciones FindFirstUrlCacheEntry, FindNextUrlCacheEntry y DeleteUrlCacheEntry. Puede pasar 'cookie:' como primer argumento (LPCTSTR lpszUrlSearchPattern) al FindFirstUrlCacheEntry.

+0

Esta es una solución muy muy fea. Puede eliminar los archivos teóricamente, pero mientras se ejecuta Internet Explorer no se dará cuenta de eso. La forma correcta es usar una API para eso (como respondió correctamente Daniel) – Elmue

5

En realidad, lo tengo!

En la API de Windows que tenga una función para crear cookies llamados InternetSetCookie, y lo utiliza como esto:

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

Pero, si usted quiere eliminar la cookie en lugar de crearlo, sólo hay que establecer el campo de caducidad en algún lugar en el pasado, así:

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

Más información al respecto en Managing Cookies.

Cuestiones relacionadas