下面这个函数可以根据一个网址得到它在本地缓存的位置。我在很多与HTTP相关的程序中都使用到了。
// 根据网址得到在本地的缓存文件CString GetCacheEntryInfo(LPCTSTR lpszUrl){ CString strPath; DWORD dwEntrySize=0; LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry; if (!GetUrlCacheEntryInfo(lpszUrl,NULL,&dwEntrySize)) { if (GetLastError()!=ERROR_INSUFFICIENT_BUFFER) { TRACE("GetUrlCacheEntryInfo Error:%d/n",GetLastError()); //TRACE("本地没有指定网页的缓存/n"); return _T(""); } else lpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO) new char[dwEntrySize]; } else return _T(""); // should not be successful w/ NULL buffer // and 0 size if (!GetUrlCacheEntryInfo(lpszUrl,lpCacheEntry,&dwEntrySize)) { //TRACE("GetUrlCacheEntryInfo Error:%d/n",GetLastError()); //TRACE("本地没有指定网页的缓存/n"); return _T(""); } else { strPath = lpCacheEntry->lpszLocalFileName; } delete []lpCacheEntry; return strPath;}