程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 如何控制IE的行為

如何控制IE的行為

編輯:關於VC++

下面演示一個控制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

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved