找回密码
 注册
搜索
热搜: 回贴

ASP.net:启动IE时自动显示工具条

2009-12-13 13:06| 发布者: admin| 查看: 43| 评论: 0|原作者: 江月

○问===================......


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

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


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

你的问题比较常见。
标准的,也是最好的办法是在你的工具条之外再实现一个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;
}

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 07:21 , Processed in 0.133071 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部