IHTMLDocument2问题。
问题:
打开本地的htm文件取得其中的title,使用纯sdk的方式
可是下面代码通不过
#include <mshtml.h>
#include <Exdisp.h>
#include <COMDEF.H>
#include <iostream>
#include <string>
using std::string;
using std::cout;
void main()
{
string result;//
_variant_t a,b,c,d;
IWebBrowser2Ptr pBsw;
IHTMLElementCollectionPtr allLinks;
IHTMLElementPtr link;
IDispatchPtr linkDisp;
IDispatchPtr pDisp;
long len;
_bstr_t source="e:\\q176792.htm";//include <comdef.h>
BSTR url;
pBsw->Navigate(source.copy(),&a,&b,&c,&d);
//pDoc->open((BSTR)source,a,b,c,&linkDisp);
pBsw->get_Document(&pDisp);
IHTMLDocument2Ptr pDoc(pDisp);
pDoc->get_links(&allLinks); //得到页面上所有链接集合
allLinks->get_length(&len);
for(int i=0;i<len;++i)
{
tagVARIANT v1;
v1.vt = VT_INT;
memcpy(&v1.iVal,&i,sizeof(int));
allLinks->item(v1, v1, &linkDisp);//得到其中一个IDispatch
if(linkDisp!=NULL)
{ //得到这个链接元素link->get_innerHTML(&url);
linkDisp->QueryInterface(__uuidof(IHTMLElement), (void**)&link);
link->toString(&url);
}
}
}