WEB开发网
开发学院软件开发VC 如何控制IE的行为 阅读

如何控制IE的行为

 2006-07-21 11:42:58 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 下面演示一个控制IE进行刷新的方法:第一步、创建SHDocVw::IShellWindowsPtr m_spSHWinds;if (m_spSHWinds == NULL){ if (m_spSHWinds.CreateInstance(__uuidof(SHDocV

本文示例源代码或素材下载

下面演示一个控制IE进行刷新的方法:

第一步、创建

 SHDocVw::IShellWindowsPtr m_spSHWinds;
if (m_spSHWinds == NULL){
        if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK){
           MessageBox("Failed");
           CoUninitialize();
           EndDialog(1);
        }
    }

第二步、获取当前所有打开的IE窗口

  if (m_spSHWinds){
        int n = m_spSHWinds->GetCount();
        for (int i = 0; i < n; i++){
           _variant_t v = (long)i;
           IDispatchPtr spDisp = m_spSHWinds->Item(v);
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);      //生成一个IE窗口的智能指针
           if (spBrowser){
               _bstr_t bsName = spBrowser->GetLocationName();  //窗口名称
               int nPos = m_ctrlIE.InsertItem(0, bsName);
               spBrowser->AddRef();
               void * pData = spBrowser;
               m_ctrlIE.SetItemData(nPos, (DWORD)(pData));
           }
        }
    }

第三步、刷新IE窗口

pBrowser->Refresh(); //pBrowser指向SHDocVw::IWebBrowser2Ptr

当然我们获取了IE窗口的IWebBrowser2后,我们就可以控制该IE,如读取设置元素的内容,以及其他一些更过的控制,参考IWebBrowser2,IHTMLDocument2等!

编译环境 win2000 professional + VC6.0(en) + sp5.0 + Platform SDK 2001.8

在win2000 professional下测试通过,如编译不过,请下载最新Platform SDK

Tags:如何 控制 IE

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接