IHTMLDocument2 *pDocument = NULL;
pDocument = (IHTMLDocument2*)m_ie.GetDocument();
if(pDocument)
{
IHTMLWindow2 *pWindow = NULL;
if(SUCCEEDED(pDocument->get_parentWindow(&pWindow)) && pWindow)
{
try
{
pWindow->scrollBy(page.m_scrollH, page.m_scrollV); //此处异常
}
catch (CMemoryException* e)
{
}
catch (CFileException* e)
{
}
catch (CException* e)
{
}
pWindow->Release();
}
pDocument->Release();
}异常为:中的 0x7e2ace29 处未处理的异常: 0xC0000005: 写入位置 0x0000001b 时发生访问冲突
求解决办法。
初步是想程序可以继续运行下去就行,不要异常退出,就用了个try{}catch{},但是好像不起作用,异常依旧。
另外不太明白,既然正确获得了pWindow,那又为何会scrollBy失败呢?
请问该怎样更改?
调用堆栈里是这样显示的:
kernel32.dll!7c812afb()
> mfc90d.dll!__delayLoadHelper2(const ImgDelayDescr * pidd=0x073dfba4, int (void)* * ppfnIATEntry=0x787de970) 行380 + 0xa 字节 C++ WebPageClick.exe!CWebBrowser2::Navigate2(tagVARIANT * URL=BSTR = 0x08a26fb4 "http://ajbone.taobao.com/", tagVARIANT * Flags=Empty, tagVARIANT * TargetFrameName=Empty, tagVARIANT * PostData=Empty, tagVARIANT * Headers=Empty) 行344 + 0x2d 字节 C++