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();
              }
          }

  • 相关阅读:
    Alpha冲刺博客集
    Alpha冲刺——第一天
    团队项目需求分析
    结对第二次作业
    项目选题报告
    随笔2 PAT1001.A+B Format (20)
    随笔1 大一下学期自我目标
    大数
    列变位法解密--百度之星B题
    hdu1874 畅通工程续 dijkstra 最短路
  • 原文地址:https://www.cnblogs.com/fangkm/p/1426540.html
Copyright © 2011-2022 走看看