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

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没找到的原因,它将被显示在随后的的方括号内。
调用控制面板项目大全-Delphi资料 动态改变当前显示模式-Delphi资料 动态改变屏幕分辨率-Delphi资料 动态建立不常用的对象-Delphi资料 对控制面板进行操作-Delphi资料 返回程序执行参数-Delphi资料 防止 Win95 显示严重错误-Delphi资料 改变操作系统日期-Delphi资料 改计算机名-Delphi资料 关闭 Windows-Delphi资料 关闭外部应用程序-Delphi资料 监视剪贴板内容-Delphi资料 检测磁盘是否变化-Delphi资料 检测驱动器容量-Delphi资料 检查驱动器是否就绪:-Delphi资料 建立简单的任务栏应用程序-Delphi资料 将程序放在Windows启动中-Delphi资料 将光标限制在某区域-Delphi资料 将文件放入回收站-Delphi资料 禁止用户切换任务-Delphi资料 控制面板大全-Delphi资料 控 制 系 统 菜 单-Delphi资料 拦截消息处理过程-Delphi资料 利用API函数开发DELPHI程序三例 利用Hook技术实现键盘监控-Delphi资料 利用浏览窗口 DragDrop 任意文件-Delphi资料 利用未公开函数实现Shell操作监视-Delphi资料 妙用Delphi的标识号 判断Windows类型和版本-Delphi资料 判断一个程序是否dos版本:-Delphi资料 屏蔽系统按键-Delphi资料 1.在程序中用static final与用static或不加上这些标志的具体区别是什么? 2.工程建库 怎么样才能去掉字符串中的双引号呢? 关于在J2EE项目中客户端打印的问题,急!!!! SQL Server与Oracle的转换 一个VBA控制office问题 关于用纯asp代码实现文件上传的问题! JComboBox的下拉列表怎么让它显示出来? 除非我把那个控件拉的很难看它才能像ComboBox一样工作但是那样大小是原来的n倍 高分求救~~WIN98的问题 高分求救~~WIN98的问题 Grid中的數據源刷新問題?? 在c#中如何开辟一块指定的内存空间? 聊天室的隐藏框架怎样做啊,我把框架尺寸设成0了,鼠标还是不停的闪/ 出什么事情了? listView怎么加入打印功能? 如果你拽的话:50分全是你的啦。帮我看看这条sql语句错在那里? Excelsior JET Professional Edition 谁有这个版本啊,破解的??在线等待…… 我的程序编译通过了,为什么测试通不过??代码在下面,大家看看是关于数据库和哈希表的 如何用DELPHI制作卸载程序 为什么我在C++ Builder 中用cgi作webservice访问数据库出错? 关于dinstinct的问题(100分!) 怎样将GIF文件包含到资源文件及如何调用? 如何在程序中屏蔽掉系统热健:如 ctrl+alt+del, alt+tab等等 怎样在子线程的运行过程中获得主窗口的指针? 50分征解50分征解!!!!! 如何在listbox中显示多列,并加上标题(每一列都有自己的标题) 现有一DBF数据库,如何把它倒到SQL里? 没分了,仅此10分求日期的正则表达式,希望帮忙 PPT 文件变得好大 oracle8.1.5中transaction slot的问题 怎样在linux下设置有管理员权限的用户!在线等待!!!! 出学者界面实做---STEP 4 小小的堆栈问题 可不可以在一个视图中加入不同数据库的数据? 为什么我在C++ Builder 中用cgi作webservice访问数据库出错? 求JPAD PRO的破解 PPT 文件里插入Organization Chat 请教static问题 我要离开现在的公司了,去寻求新的发展...... 请教各位高人,一个循环定义问题 Win98下为什么拦截不到从另一线程发过来的自定义消息 public class myclass 与 class myclass 一样吗? dbgrid 中,titleclick事件,如何判断选中的是 哪个字段 呢? 很简单 ADOtable 不支持 FindKey, 请教: 应该如何解决记录定位? 火急请教个“重新验证组织单元”问题! 想做一个报表但设置DataEnvironment的连接失败,不知为何错? 请教!linux下将.h和.c文件编译成动态连接库!!! 你真的懂SQL语句的编写吗?快来,我给你分 重载与模板的问题 出租魏公村西口两居之一 不知哪有好一点的聊天室,各位大虾请推荐几个小弟几个!!!! jsp里面有类似于asp的response.end语法吗? 求教各位大虾,这样的数据库程序如何实现。急切中。。。。。 《晒晒我的鹿晗》作文500~600 我的爸爸是一个小老板 英文翻译是什么 遇到自然灾害怎么自救各种都要 种类尽可能多一些 简略 关于exo鹿晗的作文我是一名标准的鹿饭,想要写一篇关于鹿晗的作文,开始不知道怎么写,能给我一篇吗?字数600以上 《三字经》的读后感1000字左右吧 自然灾害发生是应该如何自我保护 当一个男孩(或女孩)只称呼你名字中的一个字时,说明什么呢?例如,只称呼其姓,不称呼其全名等大家说说自己的看法请大家积极参与回答 第一次真好 周素珊 选自 苏教版小学六年级下册语文练习与测试14课答案 三字经的读后感 第一次真好 周素珊?她有哪些故事? 有什么自然灾害,如何自救?100字 那一本读物上有关于鹿晗的文章? 把《劳动的开端》缩写成100字左右的短文 周素珊的《第一次真好》1.试简析下面语段的结构特点.第一次的感觉真奇妙.第一次去露营,第一次动手做饭,第一次坐火车,第一次坐飞机,第一次看见雪,第一次看到自己的作品用铅字印出来… 《三字经》读后感(作文) 把《劳动的开端》缩写成100字的文章文章是六年级语文上册的第19课!!!急需!!! 求一首歌!不知道是日本的还是英文的,是一个女人唱的,很经典的记得在MV里有海,景很美,听起来很慢,但很舒服的一首歌,记得在MV里有海,但海不是真海,是电脑效果,景很美,听起来很慢,但很舒服 我的中国梦诗歌?我是一位初中生,请帮我修改一下我的诗歌我是一株小草,在您甜美乳汁下萌芽,在您温暖阳光下茁壮.前进曙光熠熠生辉,青春之梦火热炽烈,您——祖国,是否发现,发现您广阔胸 如何把19课缩写成100字短文 动物是用什么方式自我保护?请分动物来回答 怎么样背课文,背英语文章又快又好记,还不容易忘. 一个男的叫女的名字的最后一个字并且加了“儿” 用100左右字缩写《劳动的开端》——急! 短文两篇(行道树)(第一次真好)分别用( ) 和( )的写法揭示主旨 求范文:《方仲永巧遇吕蒙》吕蒙遇到方仲永会对他说什么?会怎样劝他读书?(提示:自从孙权劝吕蒙读书后,吕蒙变得很聪明.方仲永天生聪明,但他不接受后天教育,最后变成了一个很普通的 怎样缩写100字的《劳动的开端》十分紧急,知道的说 故圣人耐以天下为一家,以中国为一人者,非意之也,必知其情,辟于其义,明与其礼,达于其患,然后能为之 当吕蒙遇到方仲永他们会说什么?300字左右 怎么记英语文章有没有更好的办法记英语文章.不要死记硬背的那种 故圣人耐以天下为一家.出自哪里? 苏教版四年级下册语文练习与测试单元练习五 面对自然灾害如何自护自救 例子 作文某某人面对灾害如何自护自救有全篇的很好 但有例子也行强调是自然灾害,自护自救 以共筑中国梦为题材的诗歌、文章,5分钟要可以读完,最好有视频. 有关于我的中国梦的诗歌800字左右 自然灾害的例子 我的中国梦的短诗最近举行一个主题是“我的中国梦”的书法比赛 我要参加 写一幅软笔书法作品,内容扣紧主题,20字左右 关于鹿晗的作文 求近年全球自然灾害事例求近年全球特大自然灾害的详细事例. 小张和小李两人分别从甲乙两地同时由西向东而行,小张骑摩托车从甲地出发,速度是45千米/时,小李骑自行车从乙地出发,速度是15千米/时,2小时后小张追上了小李.求甲乙两地的距离用方程,还 关于中国梦的诗歌 天灾自救事例 《吕蒙巧遇方仲永》这篇文章怎么写? 你爱鹿晗吗?爱鹿晗就留下你的理由!长的很萌,从不做作,做真实的自己,只会照顾别人,不会照顾自己的小傻瓜.我一直爱你,鹿晗♥ 求六年级课文鸡毛信缩写.400字左右, 三字经读后感,快急用!大概1000字左右吧!12.16要交! 写作文 鹿晗关于鹿晗的作文题目叫《风雨中绽放》600字以上 六年级上册课文有哪些,全部 吕蒙巧遇方仲永kkkkkkkkkkkkkkkkkkkkkkk 鹿晗英文怎么写 风景写生中如何画天空、云彩? 三字经 读后感用三字经中的话 来写一篇400字的文章 提纲就行了复制就免了! 以my hero.为题写一篇关于鹿晗的英语文章,描写一些外貌以及言语, 对于自然灾害的自救措施? 假如方仲永巧遇吕蒙后的对话 求一篇有关习惯的作文,600字左右,不用从太大的角度,谈下细节就可以了最好不要用第一人称“我”的文章,就是什么情况下都可以用的那种 从.天空.云朵.湖面.小船.快乐.歌唱.写一段.时间地点人物事情不少50字 求写人的作文写鹿晗的,大约五六百字.要写人的关于鹿晗的,不要有什么爱不爱的,毕竟是学生交给老师不好. 刘伯承的夫人是谁 刘伯承有几个妻子 王亚平太空授课是什么时间啊?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘