IHTMLDocument2->get_frames()得到的是什么
对于分贞的HTML,IHTMLDocument2->get_frames()函数得到的IDispatch指针到底是什么?
IHTMLDocument2 *pDoc=NULL;
pDoc=(IHTMLDocument2 *)GetHtmlDocument(); //这个是CHtmlView
//IWebBrowser2使用get_Document();
IHTMLFramesCollection2 *pCol=NULL;
HRESULT hr=pDoc->get_frames(&pCol); //取得分贞的frame数组
ASSERT(SUCCEEDED(hr));
VARIANT vFrame,vIndex;
vIndex.vt=VT_I4; vIndex.lVal=0; //准备取得第0号贞
hr=pCol->get_item(&vIndex,&vFrame);
ASSERT(SUCCEEDED(hr));
//取得的这个接口指针,其实是IHTMLWindow2的接口指针。
IHTMLWindow2 *pWin=(IHTMLWindow2 *)vFrame.pdispVal;
IHTMLDocument2 *pDoc2=NULL;
hr=pWin->get_document(&pDoc2);
ASSERT(SUCCEEDED(hr));
BSTR bstr=NULL;
hr=pDoc2->get_URL(&bstr); //举例,比如取得URL
ASSERT(SUCCEEDED(hr))
SysFreeString(bstr);
pDoc2->Release();
pWin->Release();
pCol->Release();
pDoc->Release();
http://blog.vckbase.com/teacheryang/archive/2005/01/06/2452.html
本文详细解释了IHTMLDocument2接口中的get_frames()函数如何获取HTML页面中的帧集合,并展示了如何通过该函数进一步操作每个帧内的资源。
1760

被折叠的 条评论
为什么被折叠?



