说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB判断文件是否在IE的缓存中

HTML文档下载 WORD文档下载 PDF文档下载
VB判断文件是否在IE的缓存中
判断一个文件是否在Internet Explorer的缓存中

  当你建立一个联到网上文件的快捷方式时,你可能需要知道它是否已经被访问过,于是你就可以适当地改变链接的颜色等等。这则小技巧
就是告诉你如何判断一个文件是否在Internet Explorer的缓存中,以满足你的须要。
  新建一个项目、添加一个模块。将以下代码写到模块里:

Private Const ERROR_INSUFFICIENT_BUFFER = 122
Private Const eeErrorBase = 26720

Private Type FILETIME
  dwLowDateTime As Long
  dwHighDateTime As Long
End Type

Private Type INTERNET_CACHE_ENTRY_INFO
  dwStructSize As Long
  lpszSourceUrlName As String
  lpszLocalFileName As String
  CacheEntryType As String
  dwUseCount As Long
  dwHitRate As Long
  dwSizeLow As Long
  dwSizeHigh As Long
  LastModifiedTime As FILETIME
  ExpireTIme As FILETIME
  LastAccessTime As FILETIME
  LastSyncTime As FILETIME
  lpHeaderInfo As Long
  dwHeaderInfoSize As Long
  lpszFileExtension As String
  dwReserved As Long
End Type

Private Declare Function GetUrlCacheEntryInfo Lib "wininet.dll" _
Alias "GetUrlCacheEntryInfoA" (ByVal sUrlName As String, _
  lpCacheEntryInfo As Any, lpdwCacheEntryInfoBufferSize _
  As Long) As Long

'用来报告API产生的错误:
Private Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100
Private Const FORMAT_MESSAGE_ARGUMENT_ARRAY = &H2000
Private Const FORMAT_MESSAGE_FROM_HMODULE = &H800
Private Const FORMAT_MESSAGE_FROM_STRING = &H400
Private Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Private Const FORMAT_MESSAGE_IGNORE_INSERTS = &H200
Private Const FORMAT_MESSAGE_MAX_WIDTH_MASK = &HFF
Private Declare Function FormatMessage Lib "kernel32" Alias _
  "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, _
  ByVal dwMessageId As Long, ByVal dwLanguageId As Long, _
  ByVal lpBuffer As String, ByVal nSize As Long, Arguments _
  As Long) As Long

Public Function WinAPIError(ByVal lLastDLLError As Long) As String
Dim sBuff As String
Dim lCount As Long

  '返回与LastDLLError相关的出错信息:
  sBuff = String$(256, 0)
  lCount = FormatMessage( _
   FORMAT_MESSAGE_FROM_SYSTEM Or FORMAT_MESSAGE_IGNORE_INSERTS, _
   0, lLastDLLError, 0&, sBuff, Len(sBuff), ByVal 0)
  If lCount Then
   WinAPIError = Left$(sBuff, lCount)
  End If

End Function

Public Function GetCacheEntryInfo(ByVal hWnd As Long, _
  ByVal lpszUrl As String) As Boolean

Dim dwEntrySize As Long
Dim lpCacheEntry As INTERNET_CACHE_ENTRY_INFO
Dim dwTemp As Long
Dim lErr As Long

  If (GetUrlCacheEntryInfo(lpszUrl, ByVal 0&, dwEntrySize)) = 0 Then
   lErr = Err.LastDllError
   If (lErr <> ERROR_INSUFFICIENT_BUFFER) Then
     '预料外的错误。须要显示出错原因:
     Err.Raise eeErrorBase + 1, _
      App.EXEName & ".mCacheEntry", WinAPIError(lErr)

     GetCacheEntryInfo = False
     Exit Function
   Else
     '这是预料中的错误
     GetCacheEntryInfo = True
   End If
  End If

End Function


在窗体上添加一个Command和一个Text。然后加入这些代码:

Option Explicit

Private Sub Command1_Click()
On Error Goto ErrorHandler
  '检查Text中的URL地址是否出现在缓存中:
  If (GetCacheEntryInfo(Me.hWnd, Text1.Text)) Then
   MsgBox "URL In Cache.", vbInformation
  Else
   MsgBox "URL Not In Cache.", vbInformation
  End If

Exit Sub

ErrorHandler:
 MsgBox "URL Not in Cache [" & Err.Description & "]",vbInformation

End Sub

  运行,在Text中键入一个URL地址(比如,http://www.vbaccelerator.com/index.html)当你按下Command按钮时,就会得到一则消息报告URL在不在缓存中。如果Windows给出了URL没找到的原因,它将被显示在随后的的方括号内。
友盟:把数据用活 让开发者享受大数据红利 友盟:用活大数据 让精细化运营为移动开发者服务 携手世纪互联 IBM Bluemix云平台落地中国 【MDCC 2015】IoT峰会—硬件开发与技术专场(下):专家齐聚,共同打造联网新时代 【MDCC 2015】虚拟现实专场(下):虚拟现实的“困”与“竞” 【CTO讲堂】面对世界竞争对手,如何拿到Google PDF开源项目PDFium? 提升网站性能开发的10个技巧 SDCC 2015:顶尖技术精英云集 大会日程及首批讲师议题公布 《近匠》专访猿团创始人CEO谢恩明:梦想、未来、改变 《近匠》专访小熊尼奥:从软硬结合到IP合作,AR产品的机遇 W3C启动Web支付标准工作,推进在线结算流程 W3C中国区会员沙龙在京召开 W3C CEO Jeff分享W3C未来发展重点 【SDCC讲师专访】车轮互联总架构师韩天峰:PHP是最好的编程语言 SDCC 2015讲师专访精彩集锦(一):你想知道的,都在这! (入门篇)带你走进Erlang 【大神来了】Elixir语言设计者Jos&#233; Valim:释放Erlang VM的能量 【SDCC 2015讲师专访】刘小溪:Vert.x3的异步框架实战 【CTO讲堂】支付接入开发的陷阱有多深? 程序员界“香饽饽”、大神级别人物集体亮相——SDCC 2015编程语言专场议题曝光 【CTO沙龙】CDN在共享经济下的创新应用 深入浅出Fetch API 带你入解应用场景及适用问题 SDCC 2015讲师专访精彩集锦(二):途牛网、饿了么、快的等大牛都来了 百度、饿了么、美团专家齐聚SDCC2015,剖析前端开发核心技术 【SDCC讲师专访】百度乔刚:前端可视化难点分析及探索实践 【CTO讲堂】Growth Hacking背后,数据分析平台的架构调整 BAT、巨杉、南大、柏睿等齐聚SDCC—新一代数据库专场议题曝光! 《近匠》BeeCloud创始人黄君贤:三行代码集成支付的技术实现 【SDCC讲师专访】AdMaster技术副总裁卢亿雷:分布式数据库挑战与分析 tvOS真的代表了应用的未来吗? 使用Fetch API和ES6生成器构建异步API Android应用性能优化实践 请教高手!!利用二进制文件转换成文本文件进行加密,实现理论是什么? IP包过滤程序问题!!!请大虾帮忙!! sql loader里面不支持FILLER 双系统中,如何删除WIN2000?(98+2000) 实现了第一个愿望... vc和vc.net有什么区别,学了vc有必要学vc.net吗??? 急,数据库表的问题!!! 为什么在Run ActivX程序时出现问题? DLL窗体关闭问题 setfont设置Dialog字体无效,搞不明白,大侠指点 为什么我的Web应用程序项目启动不了,总是出现错误!!! 100分求教jtable问题??? 菜鸟送分问题,请哪位大侠讲讲Inte1.ResponseCode和Inte1.ResponseInfo 声音变了!怎么办啊??? 100分 请问怎么做“索引”? make求救 用ant编译pet store 时,出现问题,提示信息见内文?请帮忙。。。高分酬谢。 三个三角了 开心ing 散分 tmd,上了vsnet2003贼船了。原来vc6的都不好用了 找在linux下免费gui?? 打开窗口获取原窗口信息的问题 Cbuilder安装问题,急! HelloWorld大全[接龙] 我要写一个程序在前台不需要运行后台运行可以:就像平时邮件服务品一样在前台不需要运行,而后台是提供服务的,要怎样来实现 临时表问题 多媒体教学系统开发 jbuilder中关于类的import问题? 有关远程控制的,例如抓屏,限制功能键,限制alt+f4,等等,请去http://hedaofeng.jahee.com 如何取得IE地址栏的输入信息? 急求一段ASP与SQLserver2000处理代码! 怎么创建win32 static library并输出函数?谢谢 !!!!求排列组合的简洁算法(80分) 我要对Spreadsheet的数据进行排序,用javascript怎么写 WIN32异常求救????!!!!!! 一个有深度的问题(对信号量操作不熟者请勿进) 知道为什么会出现iocopyout_chksum吗? 谁能给我《中文ACCESS开发指导手册》?? 从网上下的读不了 请问一个小问题 关于用Preferences存取注册表的问题 参数类型的问题 谁知道用什麽软件可以播放扩展名为1MP3的文件?(100分) 请问把一个二进制文件转换成文本文件,再把文本文件转换成二进制文件,该怎么做?求源代码?或有该代码的网址链接,多谢!不胜感激! main()函数里的两个参数argc、argv是什么意思?请赐教! 用HTTP上传文件,那位做过实际的应用的,帮忙... 大家上微软新闻组吧,感觉比这里快。 用jfreechart画出的图形,里边的汉字不太清楚,有没有解决的办法,要是图形小一点,模糊不清,难看死了,请问有没有解决办法?? 在vc.net中为什么新建的一个dialog,上面有双重的图象啊? asp&oracle问题 .net2003中vb升级向导有没有接口可以被其他程序调用? 以二进制方式打开文件,用ftell计算文件大小,为什么有时对有时不对? CHtmlEditView中如何实现表格的单元格大小调整? 一次交易会上,参加会的每两家公司之间都要签订一份合同,会议结束后统计共签订了78份,有多少家公司出席了这次交易会? set out可以用什么词语代替 the paper fell down_____desk and the wall(填介词) human life mankind"s life 为什么一个加"s,一个不加 Human's Memory这篇文章哪里有,要全文 直到会议结束,我才明白他所说的话.翻译 out-takes是什么意思 发布的近义词 发表的近义词是什么? 对括号部分提问:1it is 7 (one clock)2Alicia takes ashower (at 9:00) 有点小钱想投资合时代,但不太清楚年化利率是什么意思, 美国处方药价格高昂 民众被迫违法购外俄民调:超六成民众认为俄中存在多方面加拿大机场现可疑包裹 警方搜查机场附墨西哥20岁男子贩毒杀害数十人 墨警美将军称驻阿富汗部队将经由俄罗斯领空初步计票结果显示格执政联盟候选人赢得日本当红人气女星素颜谁最美?安倍称日本要当亚太领袖 做好抗衡中国斯诺登曝光了美国间谍术语加拿大12岁男童协助黑客攻陷加政府网男士“验精棒”问世 可测精子数量是否中法生态园区成都项目正有序推进绵阳一工地高空金属管件坠落 砸死1人乐至10岁“好女儿”续:老师公开倡议达州一妇女将两男童推下悬崖续:邻里纠广安岳池一小学校内摆坝坝宴 劈了课桌达州两男童被女子殴打后甩下40米高悬全省市厅级主要领导干部读书班在成都开彭州稻田鱼申遗受阻 历史虽悠久缺乏文凉山一醉汉坠入河中 警民联手施救九龙仓御园大幅降价 已购房者“围堵”“寻枪”调查续:枪于下3点找到 系被他成了她分身无限纨绔丽人这个是小鸟吗网游之新手的逆袭赋龙诸天十脉穿越妄想曲为了幸福向公主靠近执迷不悔后离宫凤凰欢乐谷旅游海洋水族馆旅游八里左岸公园旅游陶然亭旅游德国建筑群旅游龙潭瀑旅游八水河旅游青岛雕塑园旅游石钟山石窟旅游黄河铁牛旅游普救寺旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘