VC++ ShowBrowserBar 不适用于 IE8

发布于 2024-09-09 20:09:39 字数 908 浏览 1 评论 0原文

当我在 IE8 上运行此代码时,ShowBrowserBar 返回 S_OK,但工具栏未显示。 在 IE7 上运行良好。 我在这里看到了安娜提出的类似问题,但没有有效的答案......:) 有什么建议吗?

int _tmain(int argc, _TCHAR* argv[])
{
   CoInitialize(0);
   IWebBrowser2 *pIE = NULL;

   // Create an instance of Internet Explorer
   HRESULT hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER,       IID_IWebBrowser2, (void**)&pIE);
   if (FAILED(hr)) {
      return 1;
   }

   if( pIE != NULL ) {
      VARIANT vtBandGUID, vtShow, vtSize;
      vtBandGUID.vt = VT_BSTR;
      vtBandGUID.bstrVal = SysAllocString( L"{my-toolbar-guid}" );

      vtShow.vt = VT_BOOL;
      vtShow.boolVal = VARIANT_TRUE;
      vtSize.vt = VT_I2;
      vtSize.iVal = 0;

      HRESULT hr = pIE->ShowBrowserBar( &vtBandGUID, &vtShow, &vtSize );
      SysFreeString( vtBandGUID.bstrVal );
      pIE->Release();
   }
   CoUninitialize();
   return 0;
}

When I run this code on IE8, ShowBrowserBar returns S_OK, but the toolbar isn't shown.
On IE7 it works fine.
I saw a similar question here, by Anna, but without a working answer... :)
Any suggestions?

int _tmain(int argc, _TCHAR* argv[])
{
   CoInitialize(0);
   IWebBrowser2 *pIE = NULL;

   // Create an instance of Internet Explorer
   HRESULT hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER,       IID_IWebBrowser2, (void**)&pIE);
   if (FAILED(hr)) {
      return 1;
   }

   if( pIE != NULL ) {
      VARIANT vtBandGUID, vtShow, vtSize;
      vtBandGUID.vt = VT_BSTR;
      vtBandGUID.bstrVal = SysAllocString( L"{my-toolbar-guid}" );

      vtShow.vt = VT_BOOL;
      vtShow.boolVal = VARIANT_TRUE;
      vtSize.vt = VT_I2;
      vtSize.iVal = 0;

      HRESULT hr = pIE->ShowBrowserBar( &vtBandGUID, &vtShow, &vtSize );
      SysFreeString( vtBandGUID.bstrVal );
      pIE->Release();
   }
   CoUninitialize();
   return 0;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人生戏 2024-09-16 20:09:39

默认情况下,您在 Internet Explorer 中安装的任何加载项或工具栏都将启用;但它稍后可能会被禁用(您无法再使用它),因为您或其他 Windows 用户已手动禁用它,或者因为存在冲突的第三方安装程序自动禁用了它。如果用户手动禁用工具栏,您将无法自动显示它!您需要在“工具”、“管理附加组件”中重新启用该附加组件。

By default, any add-on or toolbar you install in Internet Explorer will be enabled; but it can later on become disabled  (you can no longer use it), either because you or another Windows user has manually disabled it, or because a third-party installer in conflict automatically disabled it. If user disable toolbar manually you can't show it automatically! You need to re-enable the add-on, in Tools, Manage Add-Ons.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文