获得WebBrowser控件中的HTML源码

2016-02-19 12:14 15 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的获得WebBrowser控件中的HTML源码懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

 

 

这里介绍如何用程序的方法获得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)

    {

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

    }

   

    if (pWnd != NULL)

    {

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

       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

来源:http://www.tulaoshi.com/n/20160219/1600294.html

延伸阅读
   }    btnCell.onmouseout=function(){     btnCell.style.cssText="width:100%;border:1 outset;background-color:buttonface;";    }   // btnCell.onmousedown=function(){   //  btnCell.style.cssText="width:100%;border:1 inset;background-color:#F0F0F0;";   // }...
    calendar.currentDate--;     if(calendar.currentDate==0){      calendar.currentDate=12;      calendar.currentDate[0]--;     }     calendar.show(calendar.target,calendar.currentDate[0]+"-"+calendar.currentDate+"-"+cale...
   if(defaultDate==undefined || defaultDate==""){     var theDate=new Array();     calendar.head.innerText = calendar.today[0]+"-"+calendar.today+"-"+calendar.today;     theDate[0]=calendar.today[0]; theDate=calendar.today; theDate=calendar.today;    } &n...
  this.getMonthLen=function(theYear, theMonth) {    theMonth--;    var oneDay = 1000 * 60 * 60 * 24;    var thisMonth = new Date(theYear, theMonth, 1);    var nextMonth = new Date(theYear, theMonth + 1, 1);    var len = Math.ceil((nextMonth.getTime() - thisMonth.ge...
  //************* 插入日期单元格 **************/   this.insertBodyCell=function(theRow,j,day,targetObject){    var theCell=theRow.insertCell(j);    if(j==0) var theBgColor="#FF9999";    else var theBgColor="#FFFFFF";    if(day==calendar.currentDate) var theBgColor="#CCC...

经验教程

533

收藏

39
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部