#include <mshtml.h>

IHTMLDocument2* pHtmlDoc2 = (IHTMLDocument2*)GetHtmlDocument();
//check if HtmlDocument initialized
if( pHtmlDoc2 != NULL)
{

IHTMLDocument3* pHTMLDoc3 = NULL;
HRESULT hr = pHtmlDoc2->QueryInterface(IID_IHTMLDocument3,
(LPVOID*)&pHTMLDoc3);
// ASSERT(SUCCEEDED(hr));
// {
if(pHTMLDoc3)
{
IHTMLElement* pDocElem=NULL;
hr = pHTMLDoc3->get_documentElement(&pDocElem);
if(pDocElem)
{

// ASSERT(SUCCEEDED(hr));
BSTR bstrHTML;
pDocElem->get_outerHTML(&bstrHTML);
pDocElem->Release();

USES_CONVERSION;
MessageBox(OLE2T(bstrHTML), _T("源文件"));
SysFreeString(bstrHTML);
}
pHTMLDoc3->Release();
}

pHtmlDoc2->Release();
pHtmlDoc2=NULL;
}