如何删除Vista / Win7上的IE地址栏历史记录?

时间:2010-09-05 01:40:46

标签: c++ internet-explorer winapi history address-bar

首先,这是我看到的图片 http://img713.imageshack.us/img713/4797/iedrop.png

我需要一个清除地址栏dropdawn的解决方案,但不使用ClearMyTracksByProcess或IE对话框。我需要删除特定网址及其所有跟踪。

我手动删除了该网址的所有痕迹:

  1. 用户\\ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files *
  2. 用户\\应用程序数据\本地\微软\的Windows \历史*
  3. 用户\\最近*
  4. 该URL也可以在以下网址找到:

    4)用户\\ AppData \ Local \ Microsoft \ Internet Explorer \ Recovery \ High

    现在我制作了一个BootTime程序,在我的所有系统光盘文件中搜索8和16位字符串字符串。在任何地方都找不到URL,但在登录并启动IE后,URL仍然存在。我怀疑这与4)有关,但无法理解如何。

2 个答案:

答案 0 :(得分:2)

最后我找到了解决方案。

HRESULT CreateCatalogManager(ISearchCatalogManager **ppSearchCatalogManager)
{
    *ppSearchCatalogManager = NULL;

    ISearchManager *pSearchManager;
    HRESULT hr = CoCreateInstance(CLSID_CSearchManager, NULL, CLSCTX_SERVER, IID_PPV_ARGS(&pSearchManager));
    if (SUCCEEDED(hr))
    {
        hr = pSearchManager->GetCatalog(L"SystemIndex", ppSearchCatalogManager);
        pSearchManager->Release();
    }
    return hr;
}

{

    ISearchCatalogManager *pCatalogManager;
    HRESULT hr = CreateCatalogManager(&pCatalogManager);

    if (SUCCEEDED(hr))
    {
        pCatalogManager->Reset();
        pCatalogManager->Release();
    }
}

答案 1 :(得分:0)

地址栏网址存储在TypedUrls注册表项中。请参阅声明枚举并删除它们的project(我尚未对其进行测试)。

下拉列表中的历史记录项目存储在Url History数据库中。使用IUrlHistoryStg::DeleteUrl()