ڼС
梦回起点
做你害怕做的事,你会发现:不过如此
本站基于WordPress—主题by 设计窝
冀ICP备15003737号
梦回起点
Copyright © 2015-2024 All rights reserved.

xxx.exe 中的 0x000000013f5d24e1 处最可能的异常: 0xC0000005: 读取位置 0x000007feec581c28 时发生访问冲突

因为做windows程序需要获取IE所指向的地址,我在代码中写了这么一段

CComQIPtr pWb(pWebBrowser2);
if (pWb)
{
BSTR bstrUrl;
pWb->get_LocationURL(&bstrUrl);
m_strUrl = bstrUrl;
}
if(pWebBrowser2){
return TRUE;
}

这段代码看似没有什么问题,但是执行到return的时候就会出现标题中的内存访问异常,追踪了大半天,我发现罪魁祸首是CComQIPtr,如果我把它换成IWebBrowser*,那么就没有问题,所以在CComQIPtr的作用域中,如果出现return,那么就会出现问题,我把代码改成了下面的样子

    {
        CComQIPtr pWb(pWebBrowser2);
        if (pWb)
        {
            BSTR bstrUrl;
            pWb->get_LocationURL(&bstrUrl);
            m_strUrl = bstrUrl;
        }
    }
    if(pWebBrowser2){
        return TRUE;
    }
2017-11-08
                         
暂无评论

发表回复