程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 獲得WebBrowser控件中的HTML源碼

獲得WebBrowser控件中的HTML源碼

編輯:關於C語言

 

 

這裡介紹如何用程序的方法獲得WebBrowser控件中的HTML的源代碼,並可以通過修改源代碼內容來修改頁面內容(注意:不是顯示一個新的頁面)。

 

    首先要加入WebBrowser控件,加入控件的方面我就不說了。獲得源代碼方法有兩種:

 

一、方法1(嚴格說,這個方法只不過是調用WebBrowser自己的菜單命令"查看源文件而已",並非我們所希望的)

關鍵代碼:

 

#include "mshtmcid.h"

void CHtmlView::OnMethod1()

{

    CWnd* pWnd = NULL;

 

    CWnd* pWndShell = m_browser.GetWindow(GW_CHILD); // get the webbrowser window pointer

 

    if (pWndShell)

    {

       pWnd = pWndShell->GetWindow(GW_CHILD);  //get the child window pointer

    }

   

    if (pWnd != NULL)

    {

       WPARAM wParam = MAKEWPARAM(IDM_VIEWSOURCE, 1);  //convert to unsigned 32 bit value and pass it to wparam

       pWnd->SendMessage(WM_COMMAND, wParam, (LPARAM)this->m_hWnd); //cool send a message to retreive the source.

    }        

}

 

二、方法2

 

   原理在於取得IPersistStreamInit接口指針,然後把網頁寫到IStream流中去。

關鍵代碼:

 

#include "mshtml.h"

//在SourceView中填寫HtmlView中網頁的源程序

void CMainFrame::OnMethod2()

{

    IHTMLDocument2 *pHTMLDocument=NULL;

    IPersistStreamInit *pPSI=NULL;

 

    IStream *pStream=NULL;

    HGLOBAL  hHTMLText;

 

    if  (!(pHTMLDocument = (IHTMLDocument2*)m_pHtmlView->m_browser.GetDocument()))

    return;

   

    if  (FAILED(pHTMLDocument->QueryInterf

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