문제

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 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().

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top