永发信息网

VB如何得到一个文件占用磁盘空间的大小

答案:2  悬赏:0  手机版
解决时间 2021-01-23 06:19
  • 提问者网友:爱了却不能说
  • 2021-01-22 16:21
如题
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-01-22 16:53
Option Explicit
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" _
Alias "GetDiskFreeSpaceExA" _
(ByVal lpRootPathName As String, _
lpFreeBytesAvailableToCaller As Currency, _
lpTotalNumberOfBytes As Currency, _
lpTotalNumberOfFreeBytes As Currency) As LongDim r As Long
Dim BytesFreeToCalller As Currency
Dim TotalBytes As Currency
Dim TotalFreeBytes As Currency
Dim TotalBytesUsed As Currency
Dim RootPathName As String
Dim DiskName As String
Private Sub exit_Click()
Unload Me
End SubPrivate Sub Form_Load()Timer1.Interval = 100 '每0.1秒发生一次Timer事件Drive1.Drive = "c:"checkdiskform.Left = (Screen.Width - checkdiskform.Width) / 2
checkdiskform.Top = (Screen.Height - checkdiskform.Height) / 2End SubPrivate Sub Timer1_Timer()RootPathName = Drive1.Drive
RootPathName = Mid(RootPathName, 1, 2)
DiskName = StrConv(Left(RootPathName, 1), vbUpperCase)On Error GoTo errhandler
Dir1.Path = Drive1.DriveDim x As StringLabel1 = DiskName + "盘的容量信息"
'调用API函数获取容量信息
r = GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)
'用FORMAT函数输出习惯的数据显示格式
total.Text = Format$(TotalBytes * 10000, "###,###,###,##0")
free.Text = Format$(TotalFreeBytes * 10000, "###,###,###,##0")
used.Text = Format$((TotalBytes - TotalFreeBytes) * 10000, "###,###,###,##0")
Exit Suberrhandler:
frmErr.ShowEnd Sub '一下确认是否插入磁盘
Private Sub cmdCancel_Click()
Unload Me
checkdiskform.Drive1.Drive = "c:"
End SubPrivate Sub Form_Load()
Me.Top = (Screen.Height - checkdiskform.Height) / 2 + (checkdiskform.Height - Me.Height) / 2
Me.Left = (Screen.Width - checkdiskform.Width) / 2 + (checkdiskform.Width - Me.Width) / 2
lblMsg.Caption = "请将磁盘插入驱动器" & UCase(checkdiskform.Drive1.Drive) & "。"If checkdiskform.Drive1.Drive <> "a:" Then
picDrv.Picture = LoadPicture("CDDRIV碃讥百客知九版循保末E.ico")
Else
picDrv.Picture = LoadPicture("35FLOPPY.ico")
End IfEnd Sub
全部回答
  • 1楼网友:孤独入客枕
  • 2021-01-22 17:55
我不会~~~但还是要微笑~~~:)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯