我计划用VB程序读取IE缓存的文件列表。开始用File控件直接定位到IE缓存目录C:\Documents and Settings\ComputerName\Local Settings\Temporary Internet Files 可是列表显示为空。继而用FileSystemObject对象如上同一原理定位,仍然不能读取!请教IE缓存的结构和读取的方法! 谢谢

解决方案 »

  1.   

    http://support.microsoft.com/kb/262110/
      

  2.   

    哦,麦高德,我倒知道怎么读。读目录或者文件的API行吗看以下代码:测试时复制到窗体里面即可,运行后点一下窗体Option ExplicitPrivate Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As LongPublic Function GetShortPath(strFileName As String) As String
        Dim lngRes As Long, strPath As String
        strPath = String$(165, 0)
        lngRes = GetShortPathName(strFileName, strPath, 164)
        GetShortPath = Left$(strPath, lngRes)
    End FunctionPrivate Sub Form_Click()
    Dim stmp As String
    Open "c:\11.txt" For Input As #1
        Do While Not EOF(1)
            Line Input #1, stmp
            Debug.Print stmp
        Loop
    Close #1
    End SubPrivate Sub Form_Load()
    On Error Resume Next '我懒,这就是防止文件不存在还删除产生错误而已
    Kill "c:\11.txt"
    Dim spath As String
    spath = GetShortPath("C:\Documents and Settings\zcsor\Local Settings\Temporary Internet Files")
    Me.Caption = spath
    Shell "cmd.exe /c dir " & spath & " /s /w >> c:\11.txt", vbHide
    End Sub简要说明一下,下午还监考,午觉还没睡呢.
    1:用GetShortPathName 取短路径名原因就是我要用DOS命令,而DOS一般是不识别带空格的路径或者长路径的(其实识别,你一步一步的CD是可以进去的,但是呢,一起来就不好办了,除非把多步命令写到一个SHELL CMD里,我懒,没那么写)
    2:SHELL CMD时,/C参数使命令运行完毕后自动关闭,VBHIDE使DOS窗口不显示 /S 为显示所有属性的子目录和文件(必须用这个才能显示出来滴),/W参数是列表形式.>>代表输出到文件 C:\11.TXT是输出到的文件名了.完毕,觉觉,欢迎指正,欢迎大家贴API实现的,我没时间写,就刷下来测试一下收藏好了:)
      

  3.   

    把我困迷糊了吧....上面第一句应该是
    不用读目录或者文件的API行吗
      

  4.   

    see: http://www.pcdog.com/p/html/200472/27200497_1.htm
      

  5.   

    或者:http://vbnet.mvps.org/index.html?code/internet/findfirstcacheentry.htm