zoukankan      html  css  js  c++  java
  • IE BHO的IObjectWithSite接口

    Internet Explorer的BHO的对象必须实现IObjectWithSite接口.该接口是IE用来对插件进行管理和通讯的一个接口,其有SetSite和GetSite两个方法,当IE加载和卸载Band对象的时候,调用该接口的SetSite方法,我们可以通过SetSite传进来的IUnknown指针来获取我们所需要的接口:

    1. 获取IE的框架窗口句柄:

         HWND  hWndParent;
        CComQIPtr<IOleWindow>  m_spWnd( pUnkSite );
        if( m_spWnd )m_spWnd->GetWindow( &hWndParent );

    2. 获取IInputObjectSite接口管理输入:

        CComQIPtr<IInputObjectSite> spInputSite( pUnkSite );

    3. 获取IWebBrowser2接口'

         CComQIPtr<IWebBrowser2> spBrowser;

         CComQIPtr<IServiceProvider>  spService = m_pUnkSite;
          if( spService != NULL )
          {
               spService->QueryService( SID_SWebBrowserApp, IID_IWebBrowser2,  (LPVOID*)&spBrowser );

               if( spBrowser != NULL )
              {
                   spBrowser->Refresh();
              }
          }

  • 相关阅读:
    Beta-Scum meeting 2
    项目展示
    发布声明
    [敏杰开发]Beta Scrum Meeting 5
    [敏杰开发]Beta Scrum Meeting 4
    [敏杰开发]Beta Scrum Meeting 3
    [敏杰开发]Beta Scrum Meeting 2
    [敏杰开发]Beta Scrum Meeting 1
    [敏杰开发]团队免转会申请
    [知识路书]项目展示
  • 原文地址:https://www.cnblogs.com/fangkm/p/1426540.html
Copyright © 2011-2022 走看看