发信人: 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]
|
|