我用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);
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);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货