Cookie俗称小甜饼,是网站存放在本机的访问信息,其存储在IE临时文件中。可通过以下函数获取

void IECache(FILE *pFile)
{

 char tmpbuf[20000];
    BOOL bDone = FALSE;
    INTERNET_CACHE_ENTRY_INFO *lpCacheEntry = NULL; 
 
    DWORD  dwTrySize, dwEntrySize; // start buffer size   
    HANDLE hEnumHandle = NULL;   
    DWORD  dwError = ERROR_INSUFFICIENT_BUFFER;
   
//  计算第一个IE缓存信息所需的内存空间
 dwTrySize = 0;
 hEnumHandle=FindFirstUrlCacheEntry(NULL, lpCacheEntry,&dwTrySize);
 dwEntrySize = dwTrySize;
// 找第一个IE缓存
 lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
 lpCacheEntry->dwStructSize = dwEntrySize;
 hEnumHandle=FindFirstUrlCacheEntry(NULL, lpCacheEntry,&dwTrySize);
 if(NULL==hEnumHandle)
    {
  fprintf(pFile,"FindFirstUrlCacheEntry error %d\n",GetLastError());
  return;
 }
 else
 {
  dwError=ERROR_SUCCESS;
 }

 //int js=0;
 while(!bDone)
 {
  switch(dwError)
  {
   case ERROR_INSUFFICIENT_BUFFER:
    dwEntrySize = dwTrySize;
    delete [] lpCacheEntry;              
    lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
    lpCacheEntry->dwStructSize = dwEntrySize;
    if(TRUE==FindNextUrlCacheEntry(hEnumHandle, lpCacheEntry, &dwTrySize))
     dwError = ERROR_SUCCESS;
    else
    {
     dwError = GetLastError();
     dwEntrySize = dwTrySize;
    }
    break;
    
           case ERROR_SUCCESS:                      
    //fprintf(pFile,"%s\n",lpCacheEntry->lpszSourceUrlName);
      if(strstr(lpCacheEntry->lpszSourceUrlName,"Cookie:")!=NULL)
      {
       fprintf(pFile,"%s\n",lpCacheEntry->lpszSourceUrlName);
       FILE *fr;
       fr=fopen(lpCacheEntry->lpszLocalFileName,"rb");
       if(fr!=NULL)
       {
        int tmp_len=fread(tmpbuf,1,20000,fr);
        if(tmp_len>=20000) tmp_len=19999;
        fclose(fr);
        tmpbuf[tmp_len]=0;
        fprintf(pFile,"%s\n",tmpbuf);
       }
     
      }
                dwTrySize = dwEntrySize;
                if (FindNextUrlCacheEntry(hEnumHandle, lpCacheEntry, &dwTrySize))
                    dwError = ERROR_SUCCESS;//js++;         
    
                else
                {
                    dwError = GetLastError();
                    dwEntrySize = dwTrySize; // use new size returned
                }                   
                break;
     default:
      bDone=TRUE;
      break;
  } 
 }
 FindCloseUrlCache(hEnumHandle);
 return;
}