相关的接口:IurlHistoryStg、IEnumSTATURL、IurlHistoryStg2
 
 
 相关的方法:
 
 
   IurlHistoryStg:: EnumUrls
 
 该方法返回一个IEnumSTATURL接口指针,后者用来枚举IE的历史记录。  
 
   LRESULT 
 IEnumSTATURL
 ::
 Next(ULONG celt, LPSTATURL rgelt, ULONG *pceltFetched)
 
           参数说明:
 
           celt          意义不明,不能为0,可以将其设为1。
 
           Rgelt       是STATURL结构指针,该结构由MS-IE填充。
 
          PceltFetched 由方法返回,返回1表示rgelt结构被成功填充了。若要用到第二参数
 
                            内的数据,应该判断该值是否为1。
 
 头文件:UrlHist.h
 
 下面是代码例子(所需头文件:comdef.h, afxtempl.h):
        
 
         
 BOOL GetHistory(CStringList & list)
 
 {
 
 STATURL url;
 
                      CString strUrl;
 
                      ULONG uFetched;
 
                      IUrlHistoryStg2Ptr history;
 
                      IEnumSTATURLPtr enumPtr;
 
                  if(FAILED(CoCreateInstance( CLSID_CUrlHistory,
 
 NULL,
 
 CLSCTX_INPROC_SERVER, 
 
 IID_IUrlHistoryStg2,
 
 (void**)&history)))
 
                      {
 
                                return false;
 
                      }
 
                      if(FAILED(history->EnumUrls(&enumPtr)))
 
                                return false;
 
                      while(SUCCEEDED(enumPtr->Next(1,&url,&uFetched)))
 
                      {
 
                                if(uFetched==0)
 
                                          break;
 
                                strUrl = url.pwcsUrl;
 
                                list.AddTail(strUrl);
 
                      }
 
                      return true;
 
 }
 
 另一个有用的方法
 :
 
 LRESULT IEnumSTATURL::SetFilter(LPCOLESTR poszFilter, DWORD dwFlags);
 
 
 可以在调用Next枚举历史记录前调用此方法设置过滤器。PoszFilter应如何设置呢?
 
 
 通过判断其URL与poszFilter是否完全匹配或前缀匹配。
 
 例如 enumPtr->SetFilter(L"http",STATURL_QUERYFLAG_ISCACHED);
 
 那么记录的URL只有带有http开头,才会被Next枚举到。把poszFilter设置成res、
 
 file等就可以得到不同类型的URL。
 
 另一个方法:
 ClearHistory
 
 调用它可以清除所有的历史记录,但注意该方法是属于IUrlHistoryStg2接口
                
                  
                  
                  
                  
                            
本文详细介绍了使用IurlHistoryStg和IEnumSTATURL接口获取IE浏览器历史记录的方法。包括创建IUrlHistoryStg2实例、枚举URL及设置过滤条件等步骤。
          
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					1248
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            