用API获取IE缓存文件

// using   system.runtime.interopservices;   
  [structlayout(layoutkind.sequential,   charset = charset.auto)]         
  
public     struct    internet_cache_entry_info         
  
... {       
  
public     int    dwstructsize;           
  
public    intptr   lpszsourceurlname;           
  
public    intptr   lpszlocalfilename;           
  
public     int    cacheentrytype;           
  
public     int    dwusecount;           
  
public     int    dwhitrate;           
  
public     int    dwsizelow;           
  
public     int    dwsizehigh;           
  
public    filetime   lastmodifiedtime;           
  
public    filetime   expiretime;           
  
public    filetime   lastaccesstime;           
  
public    filetime   lastsynctime;           
  
public    intptr   lpheaderinfo;           
  
public     int    dwheaderinfosize;           
  
public    intptr   lpszfileextension;           
  
public     int    dwexemptdelta;         
  }
     
  [dllimport(
" wininet.dll " ,   setlasterror = true ,   charset = charset.auto)]       
  
public     static     extern    intptr   findfirsturlcacheentry([marshalas(unmanagedtype.lptstr)]    string    urlsearchpattern,   intptr   lpfirstcacheentryinfo,    ref     int    lpdwfirstcacheentryinfobuffersize);     
  [dllimport(
" wininet.dll " ,   setlasterror = true ,   charset = charset.auto)]         
  
public     static     extern     bool    geturlcacheentryinfo(       [marshalas(unmanagedtype.lptstr)]    string    lpszurlname,       intptr   lpcacheentryinfo,        ref     int    lpdwcacheentryinfobuffersize       );   
  
public     static     string    getcatchfilename( string    url)   
  
... {   
  
int    nneeded    =     0 ,   nbufsize;           
  intptr   buf;       
  findfirsturlcacheentry(   
null ,   intptr.zero,    ref    nneeded   );     
  nbufsize   
=    nneeded;         buf    =    marshal.allochglobal(   nbufsize   );           
  geturlcacheentryinfo(url,buf,
ref    nneeded);       
  internet_cache_entry_info   cacheitem;   
  geturlcacheentryinfo(url,buf,
ref    nneeded);   
  cacheitem   
=    (internet_cache_entry_info)   marshal.ptrtostructure(   buf, typeof (internet_cache_entry_info)   );             
  
string    res = marshal.ptrtostringauto(cacheitem.lpszlocalfilename);   
  
return (res);   
  }

 

转载于:https://www.cnblogs.com/cl1024cl/archive/2007/12/20/6204972.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值