精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>● VB和Basic(1)>>API函数>>VB6如何知道指定的windows文件的大小

主题:VB6如何知道指定的windows文件的大小
发信人: ganz()
整理人: cobe(2000-03-18 20:41:32), 站内信件
【 在 debit (禾子) 的大作中提到: 】
: 请教VB6如何知道指定的windows文件的大小
: 我用API得不到预期效果
: GetFileSize总是回-1
: 原程序如下:
:    .......
 Dim lFsize As Long
 Dim lHandFf As Long
 Dim lHandFn As Long
Dim fInfo As WIN32_FIND_DATA
Dim lFsize As Long
Dim lFtime As Long
Dim fSysTime As SYSTEMTIME

lHandFf = FindFirstFile("*.*", fInfo)
Do
  If lHandFf = -1 Then
     Exit Do
  End If
  If Left(fInfo.cFileName, 1) <> "." Then
      With fInfo
     lFsize = .nFileSizeHigh + .nFileSizeLow
         ‘长度
     sFullFileName = GetStrFromBuffer(.cFileName)
          ‘文件名
     lFtime = FileTimeToSystemTime(.ftLastWriteTime, fSysTime)
           ’FSYSTIME为修改日期,时间
   End With
   End if
  lHandFn = FindNextFile(lHandFf, fInfo)
Loop Until lHandFn = 0

(还有个关闭lHandFf的函数)

Public Function GetStrFromBuffer(szStr As String) As String
  If IsUnicodeStr(szStr) Then szStr = StrConv(szStr, vbFromUnicode)
  If InStr(szStr, vbNullChar) Then
    GetStrFromBuffer = Left$(szStr, InStr(szStr, vbNullChar) - 1)
  Else
    ' If szStr had no null char, the Left$ function
    ' above would rtn a zero length string ("").
    GetStrFromBuffer = szStr
  End If
End Function


--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.101.200.14]

[关闭][返回]