//Get the point of current frame CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> pDisp; pDisp = pDispParams->rgvarg[1].pdispVal;CComQIPtr<IUnknown, &IID_IUnknown> pUnkDisp; pUnkDisp = pDisp;//Get the point of top frame CComQIPtr<IUnknown, &IID_IUnknown> pUnkBrowser; pUnkBrowser = m_pWebBrowser2;//m_pWebBrowser2 is IWebbrowser2 of webbrowser2if(pUnkBrowser == pUnkDisp) { //All the document completed } else { //A frame completed }
CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> pDisp;
pDisp = pDispParams->rgvarg[1].pdispVal;CComQIPtr<IUnknown, &IID_IUnknown> pUnkDisp;
pUnkDisp = pDisp;//Get the point of top frame
CComQIPtr<IUnknown, &IID_IUnknown> pUnkBrowser;
pUnkBrowser = m_pWebBrowser2;//m_pWebBrowser2 is IWebbrowser2 of webbrowser2if(pUnkBrowser == pUnkDisp)
{
//All the document completed
}
else
{
//A frame completed
}
也许对你有帮助
http://support.microsoft.com/kb/180366/
void CToobView::OnDocumentCompleteBrowse(LPDISPATCH pDisp, VARIANT FAR* URL)
{
HRESULT hr;
IUnknown* pUnkBrowser = NULL;
IUnknown* pUnkDisp = NULL;
LPUNKNOWN lpunk =m_browse.GetControlUnknown();
IWebBrowser2* pbrowserapp;
hr = lpunk->QueryInterface(IID_IWebBrowser2, (void**) &pbrowserapp);
if(SUCCEEDED(hr))
{
hr=pbrowserapp->QueryInterface(IID_IUnknown, (void**)&pUnkBrowser );
if(SUCCEEDED(hr))
{
hr= pDisp->QueryInterface(IID_IUnknown, (void**)&pUnkDisp );
if(SUCCEEDED(hr))
{
if(pUnkBrowser==pUnkDisp)
{已经完成