VC ++ ShowBrowserBar не работает на IE8 - PullRequest
0 голосов
/ 14 июля 2010

Когда я запускаю этот код в 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 Ответ

1 голос
/ 22 октября 2010

По умолчанию любая надстройка или панель инструментов, которые вы устанавливаете в Internet Explorer, будут включены;но впоследствии он может быть отключен (вы больше не можете его использовать) либо потому, что вы или другой пользователь Windows отключили его вручную, либо потому, что сторонний установщик в конфликте автоматически отключил его.Если пользователь отключил панель инструментов вручную, вы не сможете показать ее автоматически!Необходимо повторно включить надстройку в разделе «Инструменты», «Управление надстройками».

...