RT,我要的是本地的地址,用于读取里面的内容,不是网络地址,也就是“C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\lsa.jpg”这个地址,能获取到吗?
谢谢

解决方案 »

  1.   

    Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
    Const PAGETMP = &H20&
    Const MAX_LEN = 200
    Private Sub Command1_Click()
    Dim sTmp As String * MAX_LEN
    Dim nLength As Long
    Length = GetTempPath(MAX_LEN, sTmp)
    Text1.Text = Left(sTmp, Length)
    End Sub
      

  2.   

    通过URL获取该临时文件在本地的路径Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal Length As Long)
    Declare Function SysAllocString Lib "oleaut32.dll" (ByVal pOlechar As Long) As String
    Declare Function GetUrlCacheEntryInfoW Lib "wininet.dll" (ByVal szUrlName As Long, ByRef lpCacheEntryInfo As Any, _
            ByRef lpdwCacheEntryInfoBufferSize As Long) As LongType FILETIME
         dwLowDateTime  As Long
         dwHighDateTime As Long
    End Type
    Type INTE_CACHE_ENTRY_INFO
         dwStructSize      As Long
         lpszSourceUrlName As Long
         lpszLocalFileName As Long
         CacheEntryType As Long
         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 Long
         dwReserved        As Long
    End Type
     
    Function GetCachePath(lpszUrl As String) As String
      Dim dwEntrySize  As Long
      Dim lpCacheEntry As INTE_CACHE_ENTRY_INFO
      Dim tarr() As Byte
     
      Call GetUrlCacheEntryInfoW(StrPtr(lpszUrl), ByVal 0, dwEntrySize)
      If dwEntrySize > 0 Then
         ReDim tarr(0 To dwEntrySize)
         
         Call GetUrlCacheEntryInfoW(StrPtr(lpszUrl), tarr(0), dwEntrySize)
     
         RtlMoveMemory ByVal lpCacheEntry, tarr(0), Len(lpCacheEntry)
         GetCachePath = SysAllocString(lpCacheEntry.lpszLocalFileName)
         GetCachePath = StrConv(GetCachePath, vbFromUnicode)
      End If
    End Function