开发者

How to delete IE addressbar history on Vista/Win7?

First, here is a picture of what I see http://img713.imageshack.us/img713/4797/iedrop.png

I need an solution to clear addressbar dropdawn, but not using ClearMyTracksByProcess or IE dialogs. I need to delete only a specific URL and all his traces.

I deleted manually all traces of that URL开发者_StackOverflow in:

  1. Users\\AppData\Local\Microsoft\Windows\Temporary Internet Files*
  2. Users\\AppData\Local\Microsoft\Windows\History*
  3. Users\\Recent*

also that URL can be found in:

4) Users\\AppData\Local\Microsoft\Internet Explorer\Recovery\High

Now I made an BootTime program that searches for 8 and 16 bit charsets string in all my system disc files. URL wasn't found anywhere, but after logging and starting IE, the URL is still there. I suspect this is related to 4), but can't understand how.


Finally I found solution.

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();
    }
}


Address bar urls are stored in the TypedUrls registry key. See this project which claims to enum and delete them (I haven't tested it).

The History items in the dropdown are stored in the Url History database. Use IUrlHistoryStg::DeleteUrl().

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜