How to save All images and/or one Web page using IHTMLDocument2?

hi experts,
I have already get the IHTMLDocument2:

STDMETHODIMP CHTML2::OnTest(IDispatch *pdispHTMLDoc)
{
     .......
     CComQIPtr<IHTMLDocument2> spBody(pdispHTMLDoc);
     //Now, How to get all images and save them to local folder?
     return S_OK;
}
I tried the following codes below:
     
     IHTMLElementCollection* p;
     if (spBody != NULL)
          spBody->get_images(&p);
     IDispatch *disp;
     p->item(?,? ,&disp); //How to write the two params ?

LVL 1
iProgramAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
migelConnect With a Mentor Commented:
Hi!
try this
p->item(_variant_t((int)0), _variant_t((int)0),...)
here is MSDN cite:
"
HRESULT item(
    VARIANT name,
    VARIANT index,
    IDispatch **pdisp
);

Parameters

name
[in] VARIANT of type VT_I4 or VT_BSTR that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made.
index
[in] VARIANT of type VT_I4 that specifies the zero-based index of the object to retrieve when a collection is returned.
pdisp
[out, retval] Address of a pointer that receives an IDispatch interface for the object or collection if successful, or NULL otherwise.
"
0
 
iProgramAuthor Commented:
Ok, it works, thank you:

     
     CComQIPtr<IHTMLDocument2> spBody(pdispBody);
     IHTMLElementCollection* p;
     if (spBody != NULL)
          spBody->get_images(&p);
     IDispatch *disp;
     long i=0;
     _variant_t va(i, VT_I4);
     p->item(va, va,&disp);
     CComQIPtr<IHTMLImgElement> img(disp);
     BSTR str;
     img->get_src(&str);    //I get it here:)
     ......
     return S_OK;


0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.