VC ++ ShowBrowserBar不适用于IE8

时间:2010-07-14 08:50:18

标签: visual-c++ internet-explorer-8 toolbar

当我在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;
}

1 个答案:

答案 0 :(得分:1)

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