初学C++ 提取网页里的超链接 都会用到Item这个方法。 没神马文才,不打太多字了,贴代码。
void CM_WebDlg::OnOK()
{
IHTMLDocument2* pDoc;
pDoc = (IHTMLDocument2*)m_web.GetDocument();
IHTMLElementCollection* Links;
pDoc->get_links(&Links);
for (long i=0; i<10; i++)
{
IDispatch* disp;
Links->item(CComVariant(i),CComVariant(NULL),&disp); //如果前面第一个参数是整数素引值的时候,第二个参数只要数据类型是正确的,怎么写也是可以的,可以是Null,也可以是0或其它字符串,不影响正常运行。只限于C++语言,C语言不清楚。基本上第二个参数CComVariant(NULL)起不到作用的。如果把它作为第一个参数,出错的机会会增加。-_-# 我是新手,-_-# 我是新手,-_-# 我是新手,
IHTMLAnchorElement* Anchor;
disp->QueryInterface(&Anchor);
BSTR bstrSrc;
Anchor->get_href(&bstrSrc);
CString sHref(bstrSrc);
m_list.AddString(CString(bstrSrc));
}
}
但是,我在网上看到的实例代码,该item只填充了一个参数,而我写的代码,缺少一个都报错,何解啊?
看这篇文章 http://blog.csdn.net/god00/archive/2011/06/09/6534904.aspx 有这样的代码如下:
disp=pColl-> item(name,index); //item居然可以反回IDispatch指针接口,
我查过C++ item的声明根本就不是返回这个结果。。。晕,我是新手,晕,我是新手,晕,我是新手,晕,我是新手,晕,我是新手,
这是C与C++两种代码吧?????????
老了,写个日志增强记忆,以后再用。。。