VC 获取IE历史记录失误
VC 获取IE历史记录出错
HRESULT hr = ::CoInitialize(NULL);
IUrlHistoryStg * p_IUrlHistoryStg;
STATURL statUrl;
IEnumSTATURL * p_IEnumSTATURL;
hr = ::CoCreateInstance(
CLSID_CUrlHistory,
NULL,
CLSCTX_INPROC_SERVER,
IID_IUrlHistoryStg,
(void **)&p_IUrlHistoryStg
);
if(!hr){
hr = p_IUrlHistoryStg->EnumUrls(&p_IEnumSTATURL);
if(!hr){
ULONG bSusFill = FALSE;
hr = p_IEnumSTATURL->Reset();
statUrl.cbSize = sizeof(statUrl);
hr = p_IEnumSTATURL->Next(1,&statUrl,&bSusFill);
while(bSusFill && !hr)
{
中间添加到列表
}
代码执行到hr = p_IEnumSTATURL->Next(1,&statUrl,&bSusFill);
这一句的时候 GetLastError()返回值为259 含义:没有可用的数据 我用其他工具测试了 我有网页历史 为什么程序总是没有可用的数据 不知道是说明原因。
------解决方案--------------------
http://topic.****.net/t/20020715/18/876150.html
HRESULT hr = ::CoInitialize(NULL);
IUrlHistoryStg * p_IUrlHistoryStg;
STATURL statUrl;
IEnumSTATURL * p_IEnumSTATURL;
hr = ::CoCreateInstance(
CLSID_CUrlHistory,
NULL,
CLSCTX_INPROC_SERVER,
IID_IUrlHistoryStg,
(void **)&p_IUrlHistoryStg
);
if(!hr){
hr = p_IUrlHistoryStg->EnumUrls(&p_IEnumSTATURL);
if(!hr){
ULONG bSusFill = FALSE;
hr = p_IEnumSTATURL->Reset();
statUrl.cbSize = sizeof(statUrl);
hr = p_IEnumSTATURL->Next(1,&statUrl,&bSusFill);
while(bSusFill && !hr)
{
中间添加到列表
}
代码执行到hr = p_IEnumSTATURL->Next(1,&statUrl,&bSusFill);
这一句的时候 GetLastError()返回值为259 含义:没有可用的数据 我用其他工具测试了 我有网页历史 为什么程序总是没有可用的数据 不知道是说明原因。
------解决方案--------------------
http://topic.****.net/t/20020715/18/876150.html