我用URLDownloadToFile做了个下载,下载一个wmv文件用DeleteUrlCacheEntry清除缓存,我发现只有当我把文件下载完了后,才能用DeleteUrlCacheEntry清除缓存,要是没有下载完,我就关闭不下了,用DeleteUrlCacheEntry清除不了缓存,下次下的时候就从上次没下的继续下了。我现在想做的就是不管下完没用,每次都重新下,我用来清除缓存的代码如下:
HANDLE hEntry;
    LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL; 
    DWORD dwEntrySize;
dwEntrySize = 0;
    hEntry = FindFirstUrlCacheEntry(NULL, NULL, &dwEntrySize);
lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
    hEntry = FindFirstUrlCacheEntry(NULL, lpCacheEntry, &dwEntrySize);
if (!hEntry)
{
   if(lpCacheEntry)
   {
    delete[]lpCacheEntry;
            return ;//FALSE;
   }}
    do
    {
   if (!(lpCacheEntry->CacheEntryType & COOKIE_CACHE_ENTRY))
   {
    printf("%s\r\n",lpCacheEntry->lpszSourceUrlName);
   DeleteUrlCacheEntry(lpCacheEntry->lpszSourceUrlName);
   }   dwEntrySize = 0;
   FindNextUrlCacheEntry(hEntry, NULL, &dwEntrySize);
   delete [] lpCacheEntry; 
   lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize];
}while (FindNextUrlCacheEntry(hEntry, lpCacheEntry, &dwEntrySize));FindCloseUrlCache(hEntry);