CSDN博客

img CathyEagle

FAQ:启动IE时自动显示工具条

发表于2004/9/22 22:02:00  6726人阅读

分类: Internet Explorer 编程 Internet Explorer 有问有答

问========================================

eagleboost,您好!
  在csdn上看到你以前写的关于IE编程方面的文章,看得出来你对这方面非常熟悉。我现在有个问题想请教一下你,就是我已经做了一个类似google工具条的东西,已经注册了,但要自己去右键菜单勾上才能显示出来。
我想让它一注册,ie就默认将其显示出来,不知道要修改注册表什么地方?
 麻烦你解答一下,非常感谢!
2004-09-22

答========================================

你的问题比较常见。
标准的,也是最好的办法是在你的工具条之外再实现一个Browser Helper Object(BHO),比如下面的CShowBarObj,并在IObjectWithSite::SetSite方法中调用IWebBrowser2的ShowBrowserBar函数来显示你的工具条。VC中的例子如下:

STDMETHODIMP CShowBarObj::SetSite(IUnknown *pUnkSite)
{
   if (NULL != pUnkSite)
   {
      IWebBrowser2 *pBrowser = NULL;
      // Ensure that our site is an browser window
      HRESULT hr = pUnkSite->QueryInterface(IID_IWebBrowser2, (void **) &pBrowser);
      if (SUCCEEDED(hr))
      {
         // Display the band object (the Search bar in this case)
         VARIANT vtBandGUID, vtShow;
         vtBandGUID.vt = VT_BSTR;
         //把这里的CLSID换成你的工具条CLSID
         vtBandGUID.bstrVal = SysAllocString(OLESTR("{30D02401-6A81-11D0-8274-00C04FD5AE38}"));
         vtShow.vt = VT_BOOL;
         vtShow.boolVal = true;
         pBrowser->ShowBrowserBar(&vtBandGUID, &vtShow, 0);
         SysFreeString(vtBandGUID.bstrVal);
         pBrowser->Release();
      }
   }
   return S_OK;
}

引用地址FAQ:启动IE时自动显示工具条

0 0

相关博文

我的热门文章

img
取 消
img