Панель инструментов IE, видимая по умолчанию - PullRequest
2 голосов
/ 07 мая 2009

Я создал объект полосы IE (панель инструментов), которая работает хорошо. однако при установке на новом компьютере он не отображается по умолчанию. Конечно, его можно включить, щелкнув правой кнопкой мыши область панели инструментов и выбрав ее, однако я хотел бы знать, есть ли способ или параметр в реестре, который позволит мне включить панель сразу после установки.

Кто-нибудь знает, как это сделать?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 20 мая 2009

Вы можете показать панель инструментов программно из BHO (вы можете найти больше информации о создании BHOs ​​ здесь ):

STDMETHODIMP MyBHO::SetSite(IUnknown *pUnkSite)
{
    if( /*is this the first run since BHO was installed?*/ )
    {
        CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> webBrowser2 = pUnkSite; 
        if( webBrowser2 != NULL )
        {
            VARIANT vtBandGUID, vtShow, vtSize;

            vtBandGUID.vt = VT_BSTR;
            vtBandGUID.bstrVal = SysAllocString( OLESTR( "{TOOLBAR-GUID}" ) );

            vtShow.vt = VT_BOOL;
            vtShow.boolVal = true;

            vtSize.vt = VT_I2;
            vtSize.iVal = 0;

            webBrowser2->ShowBrowserBar( &vtBandGUID, &vtShow, &vtSize );
            SysFreeString( vtBandGUID.bstrVal );
        }
    }

    return S_OK;
}
0 голосов
/ 07 мая 2009

Не совсем точный ответ, но вы можете запустить Sysinternals Process Monitor, отфильтровывая только изменения реестра, и записывать, что происходит, когда вы вручную делаете панель инструментов видимой. Затем убедитесь, что вы делаете это в ваших установочных скриптах. Это может быть сложно, если записи реестра панели инструментов назначен GUID или ID, который вы не контролируете.

0 голосов
/ 07 мая 2009

Просто предположение, но, возможно, возможно, это поведение IE по умолчанию, позволяющее пользователю иметь выбор, какой бы он не загромождал браузер?

...