在哪里可以找到IE浏览器的下载历史记录
Where can I find download history of Internet Explorer?
>有没有办法获取IE的下载历史记录?
我们从downloads.sqlite文件中获取Firefox的下载历史记录,并从history.sqlite文件中获取Chrome的下载历史记录。
但是如何在IE中找出答案呢?
使用 FindFirstUrlCacheEntry() 进行了一些尝试,但输出与预期不符。阅读有关索引.dat文件的信息,但是当我在IE中浏览时,它没有更新。
使用名为 IUrlHistoryStg 的 COM 接口。
int main()
{
CoInitialize(NULL);
IUrlHistoryStg* ieHistory = NULL;
HRESULT hr = CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_ALL, IID_IUrlHistoryStg, (LPVOID *)(&ieHistory));
if (!SUCCEEDED(hr))
return 1;
IEnumSTATURL* urlEnumer;
hr = ieHistory->EnumUrls(&urlEnumer);
if (!SUCCEEDED(hr))
return 2;
if (!SUCCEEDED(urlEnumer->SetFilter(L"", STATURL_QUERYFLAG_ISCACHED|STATURL_QUERYFLAG_TOPLEVEL|STATURL_QUERYFLAG_NOURL|STATURL_QUERYFLAG_NOTITLE|STATURLFLAG_ISTOPLEVEL|STATURLFLAG_ISCACHED)))
return 4;
if (!SUCCEEDED(urlEnumer->Reset()))
return 3;
unsigned long correct = 0;
STATURL result = {};
struct Urls
{
std::wstring url;
std::wstring title;
Urls(LPWSTR url, LPWSTR title) : url(url ? url : L""), title(title ? title : L"")
{}
};
std::vector<Urls> urls;
do
{
result.cbSize = sizeof(result);
if (SUCCEEDED(urlEnumer->Next(1, &result, &correct)))
{
Urls url(result.pwcsUrl, result.pwcsTitle);
urls.push_back(url);
}
}
while (correct == 1);
size_t size = urls.size();
ieHistory->Release();
urlEnumer->Release();
return 0;
}
相关文章:
- 下载URL中的所有文件
- fastrtps:如何在发布/订阅级别使用 DDS 历史记录?
- VisualStudio:使用 Suse Enterprise Server 12 SP5 时,不会下载远程库标头
- 从 C++ 上的网址下载文件
- libcurl :显示正在运行的上传和下载速率
- 在 NVIDIA GEFORCE GTX 1050 上下载适用于 Windows 10 的 openCL 1.2
- 使用 libssh 从 SFTP 服务器下载文件并使用 C++ 将其写入 ofstream?
- 佳能SDK无法从相机下载图片
- 使用 Libcurl 库进行文件下载
- Mac os x app bundle 在下载并运行时崩溃,但在终端或更改 Info.plist 时运行良好
- 通过boost asio iostream下载大文件的最快方法是什么?
- 下载 GPU Mats 的矢量到主机
- 有没有办法使用 mongocxx 驱动程序从 GridFS 集合的文件下载任意范围?
- Qt网络引擎获取历史
- 为什么URLDownloadToFile()没有下载我的文件
- 下载到当前目录
- 顺序中止后未触发 Qt 下载进度
- 使用 Qt 下载公共保管箱文件
- WinInet只下载网页的一部分
- 在哪里可以找到IE浏览器的下载历史记录