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

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没找到的原因,它将被显示在随后的的方括号内。
“详解Visual Studio 2013”全国巡讲北京站:无忧开发iOS及Android应用 Chrome最新版:快速静音及在Win8中建Chrome OS系统 雅虎COO Henrique de Castro因业绩不佳被解雇 分析比特币背后的数据算法,抢占背后巨大市场先机 美食菜谱将会成创业风口的两大理由 Windows XP杀毒软件更新 将被延至2015年7月 小心,商家已经盯上你了 一软一硬 让你时刻保持清醒的可穿戴产品 寓教于乐 贝瓦依托移动平台打造中国式儿童“轻教育” 中科创达:CES2014上的中国红 SA:2014年移动互联网十大技术创新预测 回顾2013:HBase的提升与挑战 Google打造云中Hadoop便捷版,强势对抗AWS 【信息图】专业Web设计师和业余设计师的发展状况并不协调 先试后买:Agawi推新型广告服务AppGlimpse 搜狗CEO王小川:“硬件免费”是误区 平均比Hive快24倍,Impala剑指Stinger 利用ElasticSearch和Redis检索和存储十亿信息 微软高管再度失血 媒体及娱乐副总裁因内部重组离职 Google研制智能隐形眼镜 帮助病人监测血糖指标 盘点2013:最优秀的HTML5&amp;CSS3设计【多图】 AMD:未来PC将同时搭载Android、Windows双系统 如果你是CEO,你打算给自己开多少工资? IBM X6架构中国首发,目标是云与大数据 Pivotal聘用eBay前副总裁,继续发力云计算市场 智能手机的功能越来越复杂,可惜用户不买账 一周消息树:Windows 9要来了,会有哪些改变? 简单几步解决IE11无法显示此页的问题 研发周报:Java 8最终发布日期敲定,即使有bug也要发布 一周云热点:Google打造云中Hadoop便捷版,强势对抗AWS 追溯Unite大会设计理念 感受Unity进化史 VC++中的内部交互调试器在哪? 人邮版的C++面向对象高效编程如何? realplayer中文件菜单栏中的以看过的文件名,怎么删除? 如何实现真正的无标题栏的拖动? 用"select top n"取了前n纪录后,要再接着取n+1至2n条纪录,接着再取2n+1至3n……,这种取法要怎样实现呢? 如何在Excel中编制一个宏? 如何得知程序的一个实例正在运行? 送分了,送分了,虽然不多,但天天有! 为什么select count(*) from test 时,提示表或示图不存在!!! 请问如何设置mp3文件的在线播放?? 请问在内部局域网正常的情况下,打印机无法共享(共享以后没有效果)的主要原因是什么?谢谢! ===我对Linux上的Oracle8.1.7.0.1操作的时候只读,为什么啊???==== 请给我一个GetCurrentDirectory使用实例, 问一个深入MFC的简单问题 请问有关delphi项目编译的一个小问题。 各位,那里有VisualAge for Java4.0下在?我从ibm的网站上下载了,但是安装不了,说是语言不对! shcv.dll 编译不过去!!!!! have a test!have a test!have a test!have a test!have a test!have a test!have a test!have a test! mysql 结果中再次查询如何才能实现呢 pc2phone java支持byte[] a = String.getBytes("iso-8859-1");转换吗? c语言中关于对windows命令调用的语法、命令及其格式。 怎么样捕捉数据库连接出错的信息?? 在SQL语句中,如何获得一汉字字段的字节长度,而不是字符长度?如“测试”返回4,不是2 如何建树 winsock.dll提供的都是什么函数?如果它提供的是winsockAPI,那么winsock32。lib提供的又是些什么?它们重复吗? FormatDateTime这个函数的日期间的字符不支持汉字,怎么解决? 关于用JAVA生成GIF的问题?(16M的GIF,256的我已经知道了) 如何在ACCESS李使用SQL? 梦天请进,谢谢! 能不能将对象序列化后存到数据库再取出还原?有没有例子? 分屏的已个视要做成对话框,请指教,顺便告诉我如何给分,只能给这么多 sorry,梦天进来,thanks!! 急!请问怎么在java类里写编译另一个类的语句?? 如何在ACCESS里使用SQL? 谁有BO2K源代码,我愿高分求购.不为别的目的,只为深入学习系统编程 如何实现 调用IE打开一个页面,并且多次调用,只打开一个窗口? 帮我点一下我就给分! 一个简单问题:我在给Access数据表中增加记录,其中一字段是CTime类型,但老是非法操作。调试后错误出现是:return (GetLocalTm(NULL)->tm_year) + 1900 不知如何解决。请各位大师救救我把。 动态的保存datawindow object的问题 怎么给一个(tab control)属性单 的标题栏上给添加一个背景位图呢! 千山一刀之忍者神龟进来拿分!!! 怎样得到年、月、日的值 那里有C++ Primer这本书 十万火急!!!怎么在oracle+developer2k中取得本机ip.——高分奉上!! 如何判断输入的信息是中文? dll调用找不到程序入口?? 怎么用win2000来制作一张可以代光盘启动的启动盘 我怎么用一个ALT 封装一个 ToolBar Control的 ActiveX的控件! 谁有什么好的例子吗! 给个意见,是联通好呢?还是移动好? 约数之和(除其本身)恰好等于它本身的数叫什么? 如图小正方形的七分之六被阴影覆盖,大正方形的九分之八被阴影覆盖.求小正方形与大正方形的面积比 多项式除以多项式的法则,如:(2a^2*b^2+3ab^3)/(4a^2*b^5+2ab) 求1~2000的数中,所有偶数和所有奇数之和的差个反复反复反复反复反复反复反复反复 如图,图中的大正方形中阴影部分的面积是小正方形中阴影部分面积的3倍.小正方形中空白部分的面积是大正方形中空白面积的( )%. 正数的相反数是负数,这句话用符号表示是?急!在线等! 什么是单项式,多项式,整式.它们的区别与联系一定要准确啊 有8个约数的数中,最小的是多少?能列出算式吗? 相反数用什么符号表示 甲数等于2*3*5*7,甲数有几个约数?快 一个两位数,他既有约数2,又有约数5,还有约数3,这个两位数最小是( ) 相反数怎么用符号表示总不会让我写字- -bu shi你们理解错了,比如:7的相反数是-7,,我知道是负号 怎样区分单项式和多项式?就像那个单项式集合和多项式集合我就会分乱了,搞不清楚,就连单项式和多项式的次数次数都搞不清楚,你们能给我详细解答还有举例子吗?(请你们回答时要一个一 单项式与多项式的概念 下列说法正确的是( )A.一个数的相反数是负数或0 B.符号不同的两个数互为相反数 C.非负数的相反数是非正数. D.相反数等于本身的数不止数0一个 怎样区别单项式和多项式?如:x分之3,x+1,-2又2分之一,4分之a,0.72xy,2分之x-1中单项式有几个?分别是?多项式有几个?分别是?并且还要说出你怎样区别单项式与多项式 多项式与单项式的概念问题问:1+1,是单项式还是多项式?根号X是整式么?如果1+1是多项式,那么经常有这样的题:(a-3)x^2+x是单项式,那么求a是多少?很简单我们都另a-3=0,则a=3.那么,这个式子就 下列说法哪个正确1符号不同的俩个数互为相反数2整数的相反数是分数3非负数的相反数是非正数.还有一个4一个数的相反数一定是负数 单项式与多项式区别 什么是单项式,什么是多项式,x5-6xy+y3是关于y的几次多项式,请说明原因 多项式乘多项式法则 C#输入一组非0整数(以0作为输入结束标志)到一维数组中,求出这一组数的平均值,统计出正数和负数的个数.如,输入4,5,6,0,则输出 5是C#的问题,求解 多项式和单项式的定义 多项式乘多项式法则的字母表达式 汇编语言要输入一个整数输出对应的负数或者输入负数输出对应的整数就是如果输入-15要变成15输出,输入15变成-15输出,不知道怎么用汇编实现负数的输入输出,还想问问-1024怎么用16位有符号 单项式和多项式的概念是什么? 请问该如何设置windows的货币符号和数字格式? 一个小数由8个1 五个十分之一和22个千分之一组成 这个数写作 读作 c语言:编程统计数组a中的正数,0,负数的个数,并输出统计结果?(1)#include "stdio.h"int main(){int s[40],i=0,j,num=0,a=0,b=0,c=0;for (i=0;s[i]!='\n';i++ ){scanf("%d",&s[i]);num++; } for(j=0;j0) a++;else if (s[j]==0) b++;else c+ 在excel表中怎样将数据设置为货币格式,货币符号,小数点后位为1 如果用&(A)表示A的所有约数的个数,例如&(4)=3,那么&(&(18))等于多少? 用C语言编写程序,任意输入10个数,计算所有正数的和、负数的和以及这10个数的总和 1.一个由8个十,3个十分之一,8个千分之一组成,这个数写作( ) 1.游泳馆向一个长50米、宽25米、深1.6米的空游泳池里注水.经过0.6小时水深达0.2米,这样的话,几小时能把游泳池注满?(用比例知 如何在4*4的方格纸中表示根号5和根号2的正方形面积?图片正方形边长 C语言写编程,输入10个数,分别计算正数和负数的和 我这程序哪里不对啊?#includemain(){int i=0;double x,sum1=0,sum2=0;for(i=0;i 一个数是由10个一,5个十分之一和3个千分之一组成的,这个数写作( ),读作( )保留一位小数是( ),保留两位小数是( ). 一块正方形地的面积是640平方米,把它画在图纸上面积是40平方厘米,求这幅图的比例尺 如图,小正方形的七分之六被阴影覆盖,大正方形的九分之八被阴影覆盖,求小正方形与大正方形的面积比要式子 方法 过程 10个一.4个十分之一,8个千分之一组成的数写作(),精确到百分位约是() 5的平方是用根号怎么表示,正方形面积5平方米,求边长是多少用根号怎么表示 如下图,阴影部分占小正方形面积的3分之1,占大正方形面积的5分之1,则小正方形的则小正方形的面积:大正方形的面积=( )【求做题方法或算式】 图中阴影部分的面积是48平方米,梯形的面积是多少平方米? 已知一个正方形与一个长方形面积相等,长方形的长为50根号2cm,宽为40根号2cm,求正方形边长 一个小数由8个十,6个0.01和五个0.001组成8个十,6个0.01和5个0.001组成,这个小数是什么? X和Y皆为8位无符号二进制数,分别存在外部RAM的2000H和2001H 单元中,编写一能完成如下操作并把操作结果(设Z 单项式和多项式最简单的区分方法最好能举一些例子,如X-4分之一是单项数还是多项式 多项式除以多项式的法则是什么?因为我是初一的,所以可不可以请各位讲得简单点啊!比如说,2abc+2ab^2c+c^2+c^2b/c+cb 片外RAM区从1000H单元开始存有100个单元字节无符号数,找出最大值并存入1100H单元 在内部RAM的21H单元开始存有一组单字节无符号数,数据长度为20H,编写程序要求找出最大数存入MAX单元 . 汇编语言问题 判断BUF中的数是正数,负数,还是0,并分别统计它们的个数判断BUF中的数是正数,负数,还是0,并分别统计它们的个数DATA SEGMENTBUF DB 1,-1,-2,-3,-0 A DB 0B DB 0D DB 0N EQU 5DATA ENDSCODE SEGMENTASSUME (2/2),从20H单元开始有一无符号数据块,其长度在20H单元中,求出数据块中最大值,并存入21H单元 求救 明天补考单片机 .设内部RAM 40H单元存放有一有符号数,判断其值是否小于,等于或大于0,分别在41H单元写入0,1或2,完成下列程序.START:MOV A,40H-------- IERO 判断累加器A是否小于0-------- POSITIVE 判 在BUFF开始的存储区中存放30个带符号数,试统计其正数,负数和零的个数.分别将个数放至A1,A2,A3单元我知道大体思路,就是具体的程序不会写. 一个数是由5个十,6个十分之一25个千分之一组成的这个数写成小数是( ),计数单位是( ),包一个数是由5个十,6个十分之一25个千分之一组成的这个数写成小数是( ),计数单位是( ),包含( )个这样的 .ARRAY单元开始存放200个有符号字节数,统计出其正数、0和负数的个数,并把它们分别存入N1、N2、和N3中.我不知道哪个是正确的.能说明下吗 面积为30平方米的大正方形的四个角都是面积为3平方米的小正方形,用计算器求阴影部分的正方形边长 编一程序:比较两个无符号数的大小.把大数存入MAX单元不是C语言,是汇编语言的。麻烦再看看帮忙 输入一个数求1到这个数的奇数和与偶数和用JAVA写.想了很就 如图,阴影部分的面积是大正方形面积的37.5%,是小正方形面积的三分之二,则小正方形面积是大正方形面积的百分之几?抱歉,没时间了所以没画图 列式写清楚 多项式除以多项式的法则
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn