IE工具栏,默认可见

时间:2009-05-07 06:22:08

标签: internet-explorer registry default toolbar visibility

我创建了一个运行良好的IE乐队对象(工具栏)。但是,当安装在新机器上时,默认情况下不可见。当然可以通过右键单击工具栏区域并选择它来打开它,但是,我想知道注册表中是否有一种方法或选项可以让我在安装后直接打开该栏。 / p>

我们是否知道如何做到这一点?

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以通过BHO以编程方式显示工具栏(您可以找到有关制作BHO here的更多信息):

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

答案 1 :(得分:0)

只是一个猜测,但也许这是IE的默认行为,使用户可以选择什么?他使浏览器混乱?

答案 2 :(得分:0)

不是明确的答案,但您可以运行Sysinternals Process Monitor,仅过滤注册表更改,并记录手动使工具栏可见时发生的情况。然后确保在安装脚本中执行此操作。如果工具栏注册表项被分配了您无法控制的GUID或ID,则可能会变得棘手。