2010-07-14 5 views
0

IE8에서이 코드를 실행하면 ShowBrowserBar가 S_OK를 반환하지만 도구 모음이 표시되지 않습니다. IE7에서는 정상적으로 작동합니다. Anna가 비슷한 질문을했지만 작동하지 않는 대답을 보았습니다. :) 제안이 있습니까?VC++ ShowBrowserBar이 IE8에서 작동하지 않습니다.

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

기본적으로 Internet Explorer에 설치 한 추가 기능이나 도구 모음은 사용하도록 설정됩니다. 나중에 다른 Windows 사용자가 직접 비활성화했거나 충돌하는 타사 설치 프로그램이 자동으로 비활성화하기 때문에 나중에 비활성화 될 수 있습니다 (더 이상 사용할 수 없음). 사용자가 수동으로 툴바를 사용 중지하면 자동으로 표시 할 수 없습니다. 도구, 추가 기능 관리에서 추가 기능을 다시 활성화해야합니다.

관련 문제