3,055
社区成员
发帖
与我相关
我的任务
分享
hr=pFramesCollection->get_length(&p); // 得到集合的数量
if(SUCCEEDED(hr))
{
for(int i=0; i<p; i++) //遍历集合
{
varindex.lVal = i;
if(pFramesCollection->item(&varindex, &varresult) ==S_OK)
{
lpDispatch=(LPDISPATCH)varresult.ppdispVal; // 得到了 frame的Dispatch
CComQIPtr< IHTMLFrameElement > pFrameEle;
CComQIPtr< IHTMLFrameBase > pFrameBase;
// 下面这句失败,返回 E_NOINTERFACE
hr = lpDispatch->QueryInterface( IID_IHTMLFrameElement , (LPVOID*)&pFrameEle );
// 下面这句还是失败, 还是返回 E_NOINTERFACE
hr = lpDispatch->QueryInterface( IID_IHTMLFrameBase , (LPVOID*)&pFrameBase );
// 我想通过 IHTMLFrameBase 的 get_name 函数得到Frame的name属性,好判断是不是我想要处理的那个框架.请问我要怎么做才行.
}
}
}
VARIANT varindex,varresult;
VariantInit(&varindex);
VariantInit(&varresult);
varindex.vt = VT_I4;
IDispatch *pDispatch;
hr=pFramesCollection->get_length(&p); // 得到集合的数量
if(SUCCEEDED(hr))
{
for(int i=0; i<p; i++) //遍历集合
{
varindex.lVal = i;
if(pFramesCollection->item(&varindex, &varresult) ==S_OK)
{
pDispatch=varresult.pdispVal; // 得到了 frame的Dispatch
CComQIPtr< IHTMLFrameElement > spFrameEle(pDispatch);
if(!spFrameEle) return;
CComQIPtr< IHTMLFrameBase > spFrameBase(pDispatch);
if(!spFrameBase) return;
// 我想通过 IHTMLFrameBase 的 get_name 函数得到Frame的name属性,好判断是不是我想要处理的那个框架.请问我要怎么做才行.
}
}
}