vb来获得文件大小,有以下几种方式,其中GetFileSize也是其中一种:
1、利用GetFileSize来获得,需要先定义GetFileSize的api函数:
Private Declare Function GetFileSize Lib "kernel32" Alias "GetCompressedFileSizeA" (ByVal lpFileName As String, lpFileSizeHigh As Long) As Long
Private Sub Command1_Click()
Dim a
a = GetFileSize("c:\1.zip", ByVal 0&) '文件c:\1.zip 根据情况修改
MsgBox a
End Sub
2、VB自带的FileLen(filename),推荐此方式
Private Sub Command1_Click()
a = FileLen("c:\1.zip")
MsgBox a
End Sub
3、open打开你文件的方法:
Private Sub Command1_Click()
Open "c:\1.zip" For Input As #1
a = LOF(1)
Close #1
MsgBox a
End Sub
4、还有FSO方法,必须引用FSO组件同时电脑必须支持FSO组件。
建议还是选择第2种方法,简单高效。
用这个API还要打开文件,获得其句柄,然后…………
可以用VB自带的FileLen(filename)
试试以下代码吧,调用GetInfoF就OK了
Private Const OF_READ = &H0&
Private Declare Function lOpen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long
Private Declare Function lclose Lib "kernel32" Alias "_lclose" (ByVal hFile As Long) As Long
Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
Dim lpFSHigh As Long
Public Sub GetInfoF(FilePath As String)
Dim Pointer As Long, sizeofthefile As Long
Pointer = lOpen(FilePath, OF_READ)
sizeofthefile = GetFileSize(Pointer, lpFSHigh)
msgbox sizeofthefile & "个字节"
lclose Pointer
End Sub
'-------------------
EDIT #1:Long嘛,句柄的值大多是这种的……
追加分啊