Pregunta

He creado un objeto de banda IE (barra de herramientas) que funciona bien. sin embargo, cuando se instala en una nueva máquina, no es visible de manera predeterminada. Por supuesto, uno puede activarlo haciendo clic derecho en el área de la barra de herramientas y seleccionándolo, sin embargo, me gustaría saber si hay una forma u opción en el registro que me permita activar la barra inmediatamente después de la instalación.

¿Alguien sabe cómo hacer esto?

¡Gracias!

¿Fue útil?

Solución

Puede mostrar la barra de herramientas mediante programación desde BHO (puede encontrar más información sobre cómo hacer BHO aquí ):

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

Otros consejos

Solo una suposición, pero tal vez este sea el comportamiento predeterminado de IE para permitir que el usuario pueda elegir lo que sea que esté abarrotando el navegador.

No es una respuesta definitiva, pero puede ejecutar Sysinternals Process Monitor, filtrando solo los cambios en el registro, y registrar lo que sucede cuando visualiza manualmente su barra de herramientas. Luego, asegúrese de hacerlo en los scripts de instalación. Esto puede ser complicado si a la entrada del registro de la barra de herramientas se le asigna un GUID o ID que usted no controla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top