前段时间开发了一个 IE 插件。我想让它在安装后自动在 IE 工具栏中显示(就像新浪的 Vivi)。现在只能通过工具栏中右键选择后,整了一天都没有结果。

解决方案 »

  1.   

    http://www.vckbase.com/code/listcode.asp?mclsid=17&sclsid=1711
    http://www.vckbase.com/code/comtech/ie/iefavoritemenu.zip
      

  2.   

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\WebBrowser\ITBarLayout
    记录了这个信息,但其格式看不懂,看你能不能研究出来,呵呵。
    不知道IE有没有这样的接口可以直接操作。
      

  3.   

    呵呵,我知道跟 ITBarLayout 的数据有关。这么关键的东西,应该有相关的 API 吧。
      

  4.   

    我以前遇到过,没有找到合适的解决方法,结果如下处理了STDMETHODIMP CBroContral::SetSite(IUnknown* pUnkSite)

     
    if (NULL != pUnkSite)

    m_pBrowser = NULL;
    //Ensure that our site is an browser window
    HRESULT hr = pUnkSite->QueryInterface(IID_IWebBrowser2, (void **) &m_pBrowser);
    if (SUCCEEDED(hr))
    { // Display the band object (the Search bar in this case)
    VARIANT vtBandGUID, vtShow;
    vtBandGUID.vt = VT_BSTR;
    vtBandGUID.bstrVal = SysAllocString(OLESTR("{1535F20-5436-467B-BF73-8C320FBBC87B}"));
    vtShow.vt = VT_BOOL;
    vtShow.boolVal = false;
    m_pBrowser->ShowBrowserBar(&vtBandGUID, &vtShow, 0);
    vtShow.boolVal = true;
    m_pBrowser->ShowBrowserBar(&vtBandGUID, &vtShow, 0);
    SysFreeString(vtBandGUID.bstrVal);
    m_pBrowser->Release();
    return S_OK;
    }

    return E_FAIL;
    }注意:
                               vtShow.boolVal = false;
    m_pBrowser->ShowBrowserBar(&vtBandGUID, &vtShow, 0);
    vtShow.boolVal = true;
    m_pBrowser->ShowBrowserBar(&vtBandGUID, &vtShow, 0);让他先消失再显示就可以你最好能够找到合适的解决方法,让我也看看,反正当初没解决
      

  5.   

    如果用户使用了自定义工具栏,好像加不上去,但是可以显示在自定义工具栏里头,需要手动添加------MSDN就是这么说的, 你是用BHO技术吧
      

  6.   

    msdn.microsoft.com/library/en-us/shellcc/ platform/Shell/programmersguide/shell_adv/bands.asp
    Msdn里有,这里应该介绍的比较详细了吧