win7系统C++读取浏览器网页缓存

来源:互联网 发布:db2 查看数据库 名称 编辑:程序博客网 时间:2024/04/30 15:46

因为浏览器网页缓存文件的特殊性,用程序读取缓存内容要颇费些周折。

个人因为项目需要,要有个读取浏览器缓存的功能,在网上找了一下,有个例程。方向方法是对的。但是语焉不详,给出的说明很不清晰。

让我Try个好苦,不过最终还是Try出来了。在此分享给大家。

前提需要include名为Wininet.h头文件,然后#pragma comment(lib,"Wininet.lib").

int _tmain(int argc, _TCHAR* argv[]){wchar_t* IMG_PATH = _T("http://news.ifeng.com/a/20141011/42173581_0.shtml");wchar_t* OUT_PATH = _T("E:\\out.txt");DWORD dwEntrySize = 0;LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry;if (!GetUrlCacheEntryInfo(IMG_PATH, NULL, &dwEntrySize)){if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)return -1;elselpCacheEntry = (LPINTERNET_CACHE_ENTRY_INFO)new BYTE[dwEntrySize];if (GetUrlCacheEntryInfo(IMG_PATH, lpCacheEntry, &dwEntrySize)){{::CopyFile(lpCacheEntry->lpszLocalFileName, OUT_PATH,FALSE);}}delete lpCacheEntry;}return 0;}
注意:IMG_PATH变量是要读取的缓存文件的名称。

找到缓存文件夹右键属性,赋值URL即可

0 0