Вопрос

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

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

Спасибо!

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top