Class1.vb
上传用户:szledliu
上传日期:2021-01-29
资源大小:13805k
文件大小:5k
源码类别:

C#编程

开发平台:

C#

  1. Imports System.Runtime.InteropServices
  2. Public Class Class1
  3.     'For PInvoke: Contains information about an entry in the Internet cache
  4.     Public Structure FILETIME
  5.         Dim dwLowDateTime As Integer
  6.         Dim dwHighDateTime As Integer
  7.     End Structure
  8.     Public Declare Function FileTimeToLocalFileTime Lib "KERNEL32" (ByRef lpFileTime As FILETIME, ByRef lpLocalFileTime As FILETIME) As Integer
  9.     Public Declare Function FileTimeToSystemTime Lib "KERNEL32" (ByRef lpFileTime As FILETIME, ByRef lpSystemTime As SYSTEMTIME) As Integer
  10.     Public Structure SYSTEMTIME
  11.         Dim wYear As Short
  12.         Dim wMonth As Short
  13.         Dim wDayOfWeek As Short
  14.         Dim wDay As Short
  15.         Dim wHour As Short
  16.         Dim wMinute As Short
  17.         Dim wSecond As Short
  18.         Dim wMilliseconds As Short
  19.     End Structure
  20.     Public Shared Function FileTime2SystemTime(ByRef FileT As FILETIME) As Date
  21.         Dim SysT As SYSTEMTIME
  22.         FileTimeToLocalFileTime(FileT, FileT)
  23.         FileTimeToSystemTime(FileT, SysT)
  24.         FileTime2SystemTime = System.DateTime.FromOADate(TimeSerial(SysT.wHour, SysT.wMinute, SysT.wSecond).ToOADate + DateSerial(SysT.wYear, SysT.wMonth, SysT.wDay).ToOADate)
  25.     End Function
  26.     <StructLayout(LayoutKind.Explicit, Size:=80)> _
  27.     Public Structure INTERNET_CACHE_ENTRY_INFOA
  28.         <FieldOffset(0)> Public dwStructSize As UInt32
  29.         <FieldOffset(4)> Public lpszSourceUrlName As IntPtr
  30.         <FieldOffset(8)> Public lpszLocalFileName As IntPtr
  31.         <FieldOffset(12)> Public CacheEntryType As UInt32
  32.         <FieldOffset(16)> Public dwUseCount As UInt32
  33.         <FieldOffset(20)> Public dwHitRate As UInt32
  34.         <FieldOffset(24)> Public dwSizeLow As UInt32
  35.         <FieldOffset(28)> Public dwSizeHigh As UInt32
  36.         <FieldOffset(32)> Public LastModifiedTime As FILETIME
  37.         <FieldOffset(40)> Public ExpireTime As FILETIME
  38.         <FieldOffset(48)> Public LastAccessTime As FILETIME
  39.         <FieldOffset(56)> Public LastSyncTime As FILETIME
  40.         <FieldOffset(64)> Public lpHeaderInfo As IntPtr
  41.         <FieldOffset(68)> Public dwHeaderInfoSize As UInt32
  42.         <FieldOffset(72)> Public lpszFileExtension As IntPtr
  43.         <FieldOffset(76)> Public dwReserved As UInt32
  44.         <FieldOffset(76)> Public dwExemptDelta As UInt32
  45.     End Structure
  46.     'For PInvoke: Initiates the enumeration of the cache groups in the Internet cache
  47.     <DllImport("wininet.dll", SetLastError:=True, _
  48.        CharSet:=CharSet.Auto, _
  49.        EntryPoint:="FindFirstUrlCacheGroup", _
  50.        CallingConvention:=CallingConvention.StdCall)> _
  51.     Shared Function FindFirstUrlCacheGroup( _
  52.         ByVal dwFlags As Int32, _
  53.         ByVal dwFilter As Integer, _
  54.         ByVal lpSearchCondition As IntPtr, _
  55.         ByVal dwSearchCondition As Int32, _
  56.         ByRef lpGroupId As Long, _
  57.         ByVal lpReserved As IntPtr) As IntPtr
  58.     End Function
  59.     'For PInvoke: Retrieves the next cache group in a cache group enumeration
  60.     <DllImport("wininet.dll", _
  61.        SetLastError:=True, _
  62.        CharSet:=CharSet.Auto, _
  63.        EntryPoint:="FindNextUrlCacheGroup", _
  64.        CallingConvention:=CallingConvention.StdCall)> _
  65.     Shared Function FindNextUrlCacheGroup( _
  66.         ByVal hFind As IntPtr, _
  67.         ByRef lpGroupId As Long, _
  68.         ByVal lpReserved As IntPtr) As Boolean
  69.     End Function
  70.     'For PInvoke: Releases the specified GROUPID and any associated state in the cache index file
  71.     <DllImport("wininet.dll", _
  72.        SetLastError:=True, _
  73.        CharSet:=CharSet.Auto, _
  74.        EntryPoint:="DeleteUrlCacheGroup", _
  75.        CallingConvention:=CallingConvention.StdCall)> _
  76.     Shared Function DeleteUrlCacheGroup( _
  77.         ByVal GroupId As Long, _
  78.         ByVal dwFlags As Int32, _
  79.         ByVal lpReserved As IntPtr) As Boolean
  80.     End Function
  81.     'For PInvoke: Begins the enumeration of the Internet cache
  82.     <DllImport("wininet.dll", _
  83.         SetLastError:=True, _
  84.         CharSet:=CharSet.Auto, _
  85.         EntryPoint:="FindFirstUrlCacheEntryA", _
  86.         CallingConvention:=CallingConvention.StdCall)> _
  87.      Shared Function FindFirstUrlCacheEntry( _
  88.      <MarshalAs(UnmanagedType.LPStr)> ByVal lpszUrlSearchPattern As String, _
  89.           ByVal lpFirstCacheEntryInfo As IntPtr, _
  90.           ByRef lpdwFirstCacheEntryInfoBufferSize As Int32) As IntPtr
  91.     End Function
  92.     'For PInvoke: Retrieves the next entry in the Internet cache
  93.     <DllImport("wininet.dll", _
  94.        SetLastError:=True, _
  95.        CharSet:=CharSet.Auto, _
  96.        EntryPoint:="FindNextUrlCacheEntryA", _
  97.        CallingConvention:=CallingConvention.StdCall)> _
  98.     Shared Function FindNextUrlCacheEntry( _
  99.           ByVal hFind As IntPtr, _
  100.           ByVal lpNextCacheEntryInfo As IntPtr, _
  101.           ByRef lpdwNextCacheEntryInfoBufferSize As Integer) As Boolean
  102.     End Function
  103.     'For PInvoke: Removes the file that is associated with the source name from the cache, if the file exists
  104.     <DllImport("wininet.dll", _
  105.       SetLastError:=True, _
  106.       CharSet:=CharSet.Auto, _
  107.       EntryPoint:="DeleteUrlCacheEntryA", _
  108.       CallingConvention:=CallingConvention.StdCall)> _
  109.     Shared Function DeleteUrlCacheEntry( _
  110.         ByVal lpszUrlName As IntPtr) As Boolean
  111.     End Function
  112. End Class