• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2032
  • Last Modified:

How to use IHTMLDocument2 to get images infos, header infors, ....

Hi Experts,

I need to cache the HTML that display with CHtmlView control,
I have to use IHTMLDocument2  to query HtmlDocument as below:
m_MyHtmlCtrl->GetHtmlDocument()->QueryInterface(IID_IHTMLDocument2, (void **) &pDoc);
I can get the body infos by using get_body(0 function
But I don't know how to get images infos, header infos with this, I need to save the contents of HTML to local html file and o need to save all images to the local too.

Please help me with this.
Thank in advance!



0
CongUan
Asked:
CongUan
  • 2
1 Solution
 
mahesh1402Commented:
For HTML you may use IHTMLDocument2::get_innerHTML() and for images IHTMLDocument2::get_images()

You may use following code to extract HTML from view...
e.g.

// Note:  CMyHtmlView is derived from CHtmlView

CString CMyHtmlView::GetHtmlText()
{
 CString Text;
 HRESULT hr;
 IHTMLDocument2 *pDoc = NULL;

 // Load the current document into pDoc
 hr = this->GetHtmlDocument()->QueryInterface(IID_IHTMLDocument2, (void **) &pDoc);

 if (hr == S_OK)
 {
  BSTR pelementText = NULL;
  IHTMLElement *Element = NULL;

  // Get the body
  pDoc->get_body(&Element);

  Element->get_innerHTML(&pelementText);
  Text = pelementText;

 } // End HTMLdocument is valid (HR == OK)

 return Text;
}

For images look here : http://www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_20294289.html

-MAHESH
0
 
mahesh1402Commented:
Alternatively you may use UrlDownloadToFile() API function to download elements, images, entire webpage to disk.
http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/urldownloadtofile.asp

-MAHESH
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now