⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 177.htm

📁 一些简单的编程例子 都是网页的形式
💻 HTM
字号:
<p>判断一个文件是否在IE的缓存中 </p>
<p></p>
<p>当你建立一个联到网上文件的快捷方式时,你可能需要知道它是否已经被访问过,于是你就可以适当地改变链接的颜色等等。这则小技巧</p>
<p>就是告诉你如何判断一个文件是否在Internet Explorer的缓存中,以满足你的须要。</p>
<p>  新建一个项目、添加一个模块。将以下代码写到模块里:</p>
<p></p>
<p>Private Const ERROR_INSUFFICIENT_BUFFER = 122</p>
<p>Private Const eeErrorBase = 26720</p>
<p></p>
<p>Private Type FILETIME</p>
<p>  dwLowDateTime As Long</p>
<p>  dwHighDateTime As Long</p>
<p>End Type</p>
<p></p>
<p>Private Type INTERNET_CACHE_ENTRY_INFO</p>
<p>  dwStructSize As Long</p>
<p>  lpszSourceUrlName As String</p>
<p>  lpszLocalFileName As String</p>
<p>  CacheEntryType As String</p>
<p>  dwUseCount As Long</p>
<p>  dwHitRate As Long</p>
<p>  dwSizeLow As Long</p>
<p>  dwSizeHigh As Long</p>
<p>  LastModifiedTime As FILETIME</p>
<p>  ExpireTIme As FILETIME</p>
<p>  LastAccessTime As FILETIME</p>
<p>  LastSyncTime As FILETIME</p>
<p>  lpHeaderInfo As Long</p>
<p>  dwHeaderInfoSize As Long</p>
<p>  lpszFileExtension As String</p>
<p>  dwReserved As Long</p>
<p>End Type</p>
<p></p>
<p>Private Declare Function GetUrlCacheEntryInfo Lib "wininet.dll" _</p>
<p>Alias "GetUrlCacheEntryInfoA" (ByVal sUrlName As String, _</p>
<p>  lpCacheEntryInfo As Any, lpdwCacheEntryInfoBufferSize _</p>
<p>  As Long) As Long</p>
<p></p>
<p>注释:用来报告API产生的错误:</p>
<p>Private Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100</p>
<p>Private Const FORMAT_MESSAGE_ARGUMENT_ARRAY = &H2000</p>
<p>Private Const FORMAT_MESSAGE_FROM_HMODULE = &H800</p>
<p>Private Const FORMAT_MESSAGE_FROM_STRING = &H400</p>
<p>Private Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000</p>
<p>Private Const FORMAT_MESSAGE_IGNORE_INSERTS = &H200</p>
<p>Private Const FORMAT_MESSAGE_MAX_WIDTH_MASK = &HFF</p>
<p>Private Declare Function FormatMessage Lib "kernel32" Alias _</p>
<p>  "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, _</p>
<p>  ByVal dwMessageId As Long, ByVal dwLanguageId As Long, _</p>
<p>  ByVal lpBuffer As String, ByVal nSize As Long, Arguments _</p>
<p>  As Long) As Long</p>
<p></p>
<p>Public Function WinAPIError(ByVal lLastDLLError As Long) As String</p>
<p>Dim sBuff As String</p>
<p>Dim lCount As Long</p>
<p></p>
<p>  注释:返回与LastDLLError相关的出错信息:</p>
<p>  sBuff = String$(256, 0)</p>
<p>  lCount = FormatMessage( _</p>
<p>   FORMAT_MESSAGE_FROM_SYSTEM Or FORMAT_MESSAGE_IGNORE_INSERTS, _</p>
<p>   0, lLastDLLError, 0&, sBuff, Len(sBuff), ByVal 0)</p>
<p>  If lCount Then</p>
<p>   WinAPIError = Left$(sBuff, lCount)</p>
<p>  End If</p>
<p></p>
<p>End Function</p>
<p></p>
<p>Public Function GetCacheEntryInfo(ByVal hWnd As Long, _</p>
<p>  ByVal lpszUrl As String) As Boolean</p>
<p></p>
<p>Dim dwEntrySize As Long</p>
<p>Dim lpCacheEntry As INTERNET_CACHE_ENTRY_INFO</p>
<p>Dim dwTemp As Long</p>
<p>Dim lErr As Long</p>
<p></p>
<p>  If (GetUrlCacheEntryInfo(lpszUrl, ByVal 0&, dwEntrySize)) = 0 Then</p>
<p>   lErr = Err.LastDllError</p>
<p>   If (lErr <> ERROR_INSUFFICIENT_BUFFER) Then</p>
<p>     注释:预料外的错误。须要显示出错原因:</p>
<p>     Err.Raise eeErrorBase + 1, _</p>
<p>      App.EXEName & ".mCacheEntry", WinAPIError(lErr)</p>
<p></p>
<p>     GetCacheEntryInfo = False</p>
<p>     Exit Function</p>
<p>   Else</p>
<p>     注释:这是预料中的错误</p>
<p>     GetCacheEntryInfo = True</p>
<p>   End If</p>
<p>  End If</p>
<p></p>
<p>End Function</p>
<p></p>
<p></p>
<p>在窗体上添加一个Command和一个Text。然后加入这些代码:</p>
<p></p>
<p>Option Explicit </p>
<p></p>
<p>Private Sub Command1_Click() </p>
<p>On Error Goto ErrorHandler</p>
<p>  注释:检查Text中的URL地址是否出现在缓存中:</p>
<p>  If (GetCacheEntryInfo(Me.hWnd, Text1.Text)) Then</p>
<p>   MsgBox "URL In Cache.", vbInformation</p>
<p>  Else</p>
<p>   MsgBox "URL Not In Cache.", vbInformation</p>
<p>  End If</p>
<p></p>
<p>Exit Sub</p>
<p></p>
<p>ErrorHandler:</p>
<p> MsgBox "URL Not in Cache [" & Err.Description & "]",vbInformation</p>
<p></p>
<p>End Sub</p>
<p></p>
<p>  运行,在Text中键入一个URL地址(比如,http://www.vbaccelerator.com/index.html)当你按下Command按钮时,就会得到一则消息报告URL在不在缓存中。如果Windows给出了URL没找到的原因,它将被显示在随后的的方括号内。  </p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -