想问下有谁有通过IHTMLDocument2得到webBrowser中网页的所有元素ID的实例
得到网页元素应该是用IHTMLDocument2中的all方法得到IHTMLElementCollection ,再用IHTMLElementCollection 的item方法遍历得到元素的接口指针IHTMLElementX
看不懂,,谁能给个例子让我参透下么
------解决方案--------------------
void CTest1Dlg::GetElement()
{
HRESULT hr;
CComPtrpDocDispatch = m_wndBrowser.GetDocument();
if(pDocDispatch.p != NULL)
{
CComQIPtrpHTMLDocument2(pDocDispatch);
if(pHTMLDocument2.p != NULL)
{
CComPtrpAnchorElements;
//HRESULT hr = pHTMLDocument2->get_all(&pAnchorElements);
HRESULT hr = pHTMLDocument2->get_anchors(&pAnchorElements);
if(SUCCEEDED(hr))
{
long nNumElements;
hr = pAnchorElements->get_length(&nNumElements);
if(SUCCEEDED(hr) && nNumElements)
{
for(long i = 0; i
{
CComVariant varName(i);
varName.ChangeType(VT_UINT);
CComVariant varIndex;
CComPtrpDisp;
hr = pAnchorElements->item(varName, varIndex, &pDisp);
if(SUCCEEDED(hr))
{
//CComQIPtrpElement(pDisp);
CComQIPtrpElement(pDisp);
if(pElement.p != NULL)
{
CComBSTR bstrHref;
hr = pElement->get_href(&bstrHref);
//pElement->get_tagName(&bstrHref);
}// if(pElement.p != NULL)
}// if(SUCCEEDED(hr))
}// for(long i = 0; i
}// if(SUCCEEDED(hr) && nNumElements)